strings = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int max = 0;
for(int i = 0; i < 5; i++){
String s = reader.readLine();
strings.add(s);
}
for(int i = 0; i < strings.size(); i++){
if(max < strings.get(i).length())
max = strings.get(i).length();
}
for(int i = 0; i < strings.size(); i++){
if(max == strings.get(i).length())
System.out.println(strings.get(i));
}
}
}
Кирилл
35 уровень
не понимаю, как сравнение с числом 0 и длинны входящего слова выводит максимальную длину??? пожалуйста объясните
Архивный
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #2165123
5 февраля 2020, 10:39полезный
Не очень понятен вопрос, но попробую объяснить, что делает задача.
Вводим 5 строк с клавиатуры в массив strings. И так же тут мы инициализируем переменную max, которой будем в дальнейшем присваивать длину наибольшей строки. На данном этапе длина наибольшей строки равна 0 (max=0).
Дальше мы проходим по циклу, где у каждого элемента массива вычисляем длину строки с помощью
И мы сравниваем эту самую длину строки текущего элемента с нашей наибольшей длиной строки max.
И если оказывается, что длина строки текущего элемента больше этой самой наибольшей длины строки max, то присваиваем переменной max новое значение
Ну и последний цикл у нас выводит на экран все строки, длины которых равны длине наибольшей строки max. Строк ведь с одинаковой длиной может оказаться несколько.
надеюсь ответил на твой вопрос😀 +8
Кирилл
5 февраля 2020, 10:46
"с нашей наибольшей длиной строки max."
вот этот конкретный момент я не понимаю
+1
Ksenia Volkova Java Developer в DXC Master
5 февраля 2020, 10:57
Волшебство происходит здесь.
Каждый раз, когда мы находим строку больше, чем наш текущий максимум, мы меняем значение максимума на длину этой строки.
То есть с 0 мы будем сравнивать длину нашей первой строки. Если в этой строке есть хоть один символ (то есть она больше 0), то в переменную max мы положим длину первой строки. И вторую строку будем сравнивать уже не с 0, а с этим новым максимумом.
Каждый раз, когда мы находим строку, длина которой больше текущего значения max - мы обновляем наш максимум.
+5
Кирилл
5 февраля 2020, 11:23
СПАСИБО БОЛЬШОЕ! ПОНЯЛ!!!
+2