Добрый день!
Посмотрите, пожалуйста мой код. Результат получается правильный, в консоль выводится самая длинная строка, или несколько ( если таких несколько ).
Но по последним 2 пунктам, задача не проходит валидацию. Где ошибаюсь ??!
public class Solution {
private static ArrayList<String> strings;
public static void main(String[] args) throws Exception {
//напишите тут ваш код
strings = new ArrayList<String>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for ( int i = 0; i < 5; i++) {
strings.add(reader.readLine());
}
String max = Collections.max(strings); // вычислил самую длинную строку в списке и записал ее в переменную
int maximum = max.length(); // длина самой длинной строчки в списке
for ( int i = 0; i < strings.size(); i++) { // перебираю список для поиска таких же длинных строк
if (strings.get(i).length() == maximum ) {
System.out. println( strings.get(i));
}
}
}
}
Николай
20 уровень
Прошу посмотреть мой код, результат корректный, валидация не проходит.
Архивный
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
3 апреля 2020, 11:14
С чего ты взял, что сравнение строк идет по длине? Ты же не написал своего компаратора.
Строки сравниваются по лексикографическому порядку, грубо говоря по алфавиту.
0
Николай
3 апреля 2020, 11:22
Добрый день!
но ведь по условию задачи необходимо найти самую длинную строку, поэтому я ориентируюсь на длину строки.
0
hidden #598481
3 апреля 2020, 11:27
В том-то и дело, что надо ориентироваться на длину, а ты ориентируешься на лексикографический порядок.
Collections.max найдет "наибольшую" именно по этому критерию строку.
Смотри сам:
строка "z" наибольшая, поэтому выведутся все строки с такой же длиной, как у "z"
0
Николай
3 апреля 2020, 12:14
Спасибо!
буду писать цикл для поиска наибольшей строки.
Ранее, была задача на поиск наименьшей строки, если не путаю, там такое решение было принято и задача решена.
Побольше почитаю про Collections.max, видимо я не до конца понимаю как работает этот метод.
0