Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Java. Найти самое длинное и самое короткое число

Модерирует : ShIvADeSt

ShIvADeSt (19-12-2017 09:53):  Версия для печати • ПодписатьсяДобавить в закладки

   

Timur3435

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужно ввести n чисел с консоли, найти самое короткое и самое длинное число. Вывести найденные числа и их длину.  

Код:
 public static void main(String[] args) {
        int min = 10, max = 0;
        String minStr = null, maxStr = null;
        for (String digi : args) {
            System.out.println(digi);
            if (digi.length() < min) {
                min = digi.length();
                minStr = digi;
            }
            if (digi.length() > max) {
                max = digi.length();
                maxStr = digi;
            }
        }
        System.out.println("Минимальное число " + minStr + " состоит из " + min
                + " цифр\nМаксимальное число " + maxStr + " состоит из " + max
                + " цифр");
    }

Мне нужно перевести числа в строки. Как это можно сделать? В интернете искал разные способы, в том числе string.valueof, Integer.toString, но ничего не получалось.

Всего записей: 5 | Зарегистр. 23-07-2015 | Отправлено: 18:36 10-03-2016 | Исправлено: Timur3435, 18:47 10-03-2016
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Странно. А вот у меня получалось.  
Прямо ваш код один в один, вставил только пару Integer.toString() и отлично работает.

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 11:03 11-03-2016
Timur3435

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прошу прощения, преобразовать нужно не числа в строки, а строки в числа. Пробовал методом Integer.parseInt(), но у меня выдавало ошибку "The type of the expression must be an array type but it resolved to String".

Код:
int[] numbers=new int[args.length];
            for (String digi : args) {
                numbers[i]=Integer.parseInt(digi[i]);

Всего записей: 5 | Зарегистр. 23-07-2015 | Отправлено: 23:08 11-03-2016
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
digi - не массив параметров.
digi - индексная переменная цикла, в которой содержится текущий параметр.
 
Вы же сами писали:

Цитата:
System.out.println(digi);  

чтобы выводить параметры по одному.
Поэтому,

Код:
numbers[i] = Integer.parseInt(digi);

Конечно, поддержание осмысленного значения i - это ваша забота.
 
 
 

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 09:36 12-03-2016
Timur3435

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я не понимаю, почему в строке numbers[i]=Integer.parseInt(digi); выдает "i cannot be resolved to a variable". Я ведь объявил массив перед циклом, что не так? Извините за то, что задаю много лишних вопросов, я только начал учить java, и многого не понимаю.

Всего записей: 5 | Зарегистр. 23-07-2015 | Отправлено: 13:01 12-03-2016
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А переменную i вы определили ?

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 13:19 12-03-2016
marck1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подробнее...

Всего записей: 2 | Зарегистр. 19-12-2017 | Отправлено: 06:18 19-12-2017
   

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Java. Найти самое длинное и самое короткое число
ShIvADeSt (19-12-2017 09:53):


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru