Выражаемся покороче

  • 4
  • Недоступна
Краткость — сестра таланта. Давайте в следующей задаче восславим краткость и вот каким образом: создаем список, считываем 5 строк с клавиатуры и добавляем их в список, затем находим самую короткую строку и выводим её на экран. Если таких строк несколько — выводим их все, каждую с новой строки. Вопросы есть, рядовой!?
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (114)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Alex_330298738 уровень, Москва
11 июня, 17:20
чесал чесал репу, в итоге... отсортировал ArrayList, потом через цикл, сравнением длины строк относительно первой, вывел строки длинной равной самой короткой строке (первая в списке).
Светлана 27 уровень, Санкт-Петербург
9 мая, 19:35
С 14 попытки удалось найти место, где и как должен быть объявлен ArrayList (в main и именно ArrayList = new ArrayList). Уже ненавидела фразу - "Объяви переменную типа список строк и сразу проинициализируй ee." Кроме того, нужно учитывать, что ArrayList накапливает элементы и при повторной проверке у меня развалились остальные пункты.
Sherlock040410 уровень, Москва
5 мая, 17:23
Вообщем если кто-то так же как я не понимает как решить, то сначала создаем список как обычно, заносим с помощью for туда строки. Дальше объявляем int min = Integer.MAX_VALUE; Сравниваем с помощью for значение каждой строки list1.get(i).length() с min и если она меньше то min присваиваем значение этой строки. Нашли самую короткую строку, точнее ее значение. Дальше также с помощью for сравниваем значение каждой строки list1.get(i).length() с min и если они равны (==) то выводим на печать. То есть в первом случае мы находим самую маленькую строку в числовом выражении а во втором ищем во всем списке есть ли строки такой же длины и в любом случае выводим самую маленькую строку.
Евгений Гмыря7 уровень, Warsaw
среда, 08:05
Spasibo, pomoglo.
Игорь Смирнов8 уровень, Москва
27 апреля, 17:05
Решал через String[] list = new String[5]; И так и так, все работает, все учитывает, а валидацию не проходит. Почитав коменты заметил упоминания об ArrayList и понял, что не зря в задачке именно его и импортируют. Переписал код на ArrayList<String> list = new ArrayList<>(); Подкорректировал в остальном коде, выставив add, set и get где нужно - результат такой же , все работает + прошло валидацию xD Нюансы, мать его )
fedor20 уровень, Москва
1 апреля, 09:20
караул! [IDEA] "Объяви переменную типа список строк и сразу проинициализируй ee." этого недостаточно: List<String> arrStr= new ArrayList<>(5); куда копать? код работает корректно. офигеть, товарищи, это прошло: ArrayList<String> arrStr= new ArrayList<>(5);
Alex_330298738 уровень, Москва
11 июня, 17:23
я думаю, что размер списка объявлять смысла нет, так как список может сам менять размер в зависимости от количества добавленных в него данных.
Дмитрий Метельский22 уровень, Минск
25 марта, 19:18
После предыдущей задачи всё написал точно так же, только поменял знак в сравнении, но валидация не проходила))) Взял ctrl + C ->ctrl + V- и поменял знаки-всё прошло) Мне кажется тут валидатор иногда тупит жёстко, не зависимо от кода)))
Анатолий10 уровень, Харьков
26 марта, 15:45
Валидатор норм, прошел с первого раза. Ещё б видеть ваш код - тогда можно было бы сказать в чем проблема. п.с. догадываюсь что вы забыли переменной int присвоить другое значение, а не 0.
Дмитрий Метельский22 уровень, Минск
26 марта, 19:14
Анатолий, если Вы про строчку int min = strings.get(0).length();б, то я писал вот так изначально. Я присваивал значение первого элемента списка.
Mr. Truman10 уровень
11 апреля, 02:32
Догадываюсь, что в этой задаче не было импорта import java.util.Collections; По крайней мере у меня в идее.
Sergey Vladimirovich9 уровень, Москва
24 марта, 13:47
после предыдущей задачи...легкотня с первого раза
tahonco8 уровень, Москва
15 марта, 14:31
решил через создание второго массива и Collections.sort
Alex_330298738 уровень, Москва
11 июня, 17:25
зачем второй массив?
Zhenya Ursol11 уровень, Киев
1 марта, 20:04
То же самое что и предыдущая задача, только вывод наооборот... Решение: Сортировка ArrayList - пузырьком Цикл вывода с условным оператором if внутри (если длинна следующего элемента равна длине первого){ выводить в консоль }
Dmitry12 уровень, Москва
23 февраля, 15:30
- Если есть несколько строк с длиной равной минимальной, то нужно вывести каждую из них с новой строки. подскажите плиз.
1 марта, 18:17
находишь минимальную строку, потом пробегаешь по списку циклом и сравниваешь все строки с минимумом, если совпадает - на вывод.
Viktor 17 уровень
12 марта, 00:14
можно сохранить минимальную длинну, а потом еще раз пробежаться циклом и вывести все строки такой длинны.. или отсортировать и отобрать снизу все строки с длинной как у последнего элемента..