Понимаю что метод сортировки не самый оптимальный, но он работает ))
А вот что не понимаю, так почему не работает цикл?
При вводе 5 строк выводит на экран все 6, но он ведь не должен ничего добавлять в массив если длины не равны.
Без него показывает самую длинную строчку без проблем.
for (int v = 0; v < strings.size()-1; v++) {
if (max.length() == strings.get(v).length()) {
list.add(strings.get(v));
}
}package com.javarush.task.task07.task0708;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Самая длинная строка
*/
public class Solution {
private static ArrayList<String> strings;
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
strings = new ArrayList<>();
for (int i = 0; i < 5; i++)
strings.add(reader.readLine());
for (int s = 0; s < strings.size(); s++) {
for (int d = 0; d < s; d++)
if (strings.get(d).length() > strings.get(d + 1).length()) {
String c = strings.get(d);
strings.set(d + 1, strings.get(d));
strings.set(d, c);
}
}
ArrayList<String> list = new ArrayList<>();
String max = strings.get(4);
list.add(max);
for (int v = 0; v < strings.size()-1; v++) {
if (max.length() == strings.get(v).length()) {
list.add(strings.get(v));
}
}
for (int n = 0; n < list.size(); n++) {
System.out.println(list.get(n));
}
}
}