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

  • 5
  • Недоступна
Краткость — сестра таланта. Давайте в следующей задаче восславим краткость и вот каким образом: создаем список, считываем 5 строк с клавиатуры и добавляем их в список, затем находим самую короткую строку и выводим её на экран. Если таких строк несколько — выводим их все, каждую с новой строки. Вопросы есть, рядовой!?
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (196)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Mao4ka9 уровень, Москва
25 May, 22:51
я сюда залез, потому что у меня возникла в точности такая же проблема с этой задачей. более того - мой личный код оказался в точности таким же, как и у автора. в т.ч. и названия переменных (minStringSize и проч...) и ошибку я совершил ту же самую, что и автор. А вот поглядел на его решение (хотя оно и в точности такое как у меня) и увидел: самый первый элемент массива не используется в определении длины.
nikolay8 уровень
25 May, 12:07
https://yandex.ru/turbo/s/internet-technologies.ru/articles/kak-sravnit-string-po-ih-dline-v-java-7-i-java-8.html можно использовать
Максим10 уровень, Москва
23 May, 10:34
Решал задачу 2 часа, если не больше)))В итоге сделал три цикла: 1) Считывает строки и добавляем в обычный массив на 5 элементов; 2) Ищет минимальную строку; 3) выводит на экран строку при условии, что значение обычного массива равна значению минимальной строки (цикл 2) Задача отличная. Спасибо!
Tolstjak8 уровень, Калининград
5 May, 22:51
Что означает эта строка - for (String s : list)?
Борис Скворцов14 уровень, Киев
7 May, 18:40
Это цикл for-each. Ты пишешь это условие, и цикл в переменную s будет подставлять все значения со списка list, пока все не переберет. Например напиши for (String s : list){sout s) и он выведет тебе твой список на экран. Я ещё не пробовал, только читаю про него :)
Vitalachka17 уровень, Лондон
24 April, 23:56
я не поняла чего ко мне придирается? скопировала предыдущую задачу поменяла условие, вот результат: Входные данные aaa aaaaa bbb ccc dddddddd Результат aaa bbb ccc Что не так? не пойму совсем
Vitalachka17 уровень, Лондон
25 April, 00:32
C 9 попытки 🤦‍♀️сравните, вот так не прошло по последнему условию:
Evgeny Siganov9 уровень, Москва
26 April, 11:31
Потому,что в том который не проходит в случае если минимальных в последнем цикле будет больше чем один, то выведется на экран только крайняя итерация. А вот проходной пример как раз тот что нужно, у него в цикле прописан метод выведения на экран.
Vitalachka17 уровень, Лондон
27 April, 08:18
нет, посмотрите на результаты вывода они одинаковые и в первом и во втором случае: Входные данные aaa aaaaa bbb ccc dddddddd Результат aaa bbb ccc
Aleksey25 уровень, Белгород
11 April, 03:23
достаточно копирнуть текст предыдущей задачи . и поменять там в одном месте > на < . всё )))
Nims LK19 уровень, Ташкент
18 April, 20:32
Красава! Я тоже так и сделал!
Vyacheslav Trembitsky8 уровень, Москва
1 May, 21:01
я решил закрепить решенную (списанную) предыдущую и по памяти решил - стало понятнее :)))
Alexander Chevtaev18 уровень, Bogorodsk
3 May, 08:40
так же сделал )
Plos8 уровень
23 March, 17:40
кто сможет объяснить 3 требование к задаче: Программа должна выводить самую короткую строку на экран. Потратил 2 дня и 30 попыток вставляя System.out.println(min) в цикле, где нужно найти самую короткую строку. В итоге добавил вывод на экран там, где нужно проверить есть ли несколько строк с длиной равной минимальной🤯 🤯🤯
Игорь Birt17 уровень, Тирасполь
10 April, 15:06
Чаи нужно заварить покрепче...
Zelimkhan17 уровень, Грозный
23 March, 10:40
Мучался, не знал как получить первое значение, создал строку String min перед циклом, в первом цикле написал вот
for(int i = 0; i<5; i++){
создаем строку для ввода с клавиатуры
переносим строку в лист
тут я инициализировал min(String) = strings.get(0).length();
дальше if(strings.get(i).length() <= min.length()
         min = strings.get(i);
во втором цикле делал условие - сравнение минимального с остальными , всё выводилось правильно, но валидатор не был согласен с последними двумя пунктами. Поменял String min = ""; на int min = Integer.MAX_VALUE; и подставил этот min вместо стрингового.
Максим Скородумов20 уровень, Рязань
31 March, 11:40
потому что ты записываешь в String min int-овое число. min(String) = strings.get(0).length(); если так и оставить, то у тебя в min будет храниться ""3", например
Aleks7 уровень, Москва
27 May, 08:52
Это решение лучше чем у меня. Была проблема с первым значением. Так я скопировал предыдущую задачу и присвоил первоначальному значению цифру 100. А вот это даже в голову не пришло.
Alexey Seliverstov12 уровень, Новосибирск
2 March, 10:53
Collections.sort(strings, Comparator.comparing(String::length));
идет сортировка массива в порядке возрастания. значительно проще разобраться чем
Collections.sort(strings, (s1, s2) -> s2.length() - s1.length());
Ксенія Українка20 уровень, Киев
14 March, 06:59
как ты реализовал? Если есть несколько строк с длиной равной минимальной, то нужно вывести каждую из них с новой строки.
Ксенія Українка20 уровень, Киев
15 March, 17:33
Student, я за 15 сделала. минут.
Анна22 уровень, Самара
20 April, 08:32
подскажите, что прочитать, чтоб понять, что здесь происходит
Collections.sort(strings, Comparator.comparing(String::length));
madiar16 уровень, Алматы
23 February, 17:35
* Программа должна выводить самую короткую строку на экран. • Если есть несколько строк с длиной равной минимальной, то нужно вывести каждую из них с новой строки. ОТКУДА МОЖНО ИСКАТ ОТВЕТ