подвис на этой и предыдущей задаче. что не так
package com.javarush.task.task07.task0708;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Самая длиннаяСоздай список строк.
2. Считай с клавиатуры 5 строк и добавь в список.
3. Используя цикл, найди самую длинную строку в списке.
4. Выведи найденную строку на экран. Если таких строк несколько, выведи каждую с новой строки.
Требования:
1. В методе main инициализируй существующее поле strings класса Solution новым ArrayList<>
2. Программа должна считывать 5 строк с клавиатуры и записывать их в поле strings класса Solution.
3. Программа должна выводить самую длинную строку на экран.
4. Если есть несколько строк с длиной равной максимальной, то нужно вывести каждую из них с новой строки. строка
*/
public class Solution {
private static ArrayList<String> strings;
public static void main(String[] args) throws Exception {
strings = new ArrayList<>();
for (int i = 0; i < 5; i++) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
strings.add(reader.readLine());
}
int longestStr = Integer.MAX_VALUE;
for (int j = 0; j < strings.size() - 1; j++) {
String s = strings.get(j);
int firstToCompare = s.length();
String s1 = strings.get(j);
int secondToCompare = s1.length();
if (firstToCompare <= secondToCompare) {
longestStr = secondToCompare;
} else {
longestStr = firstToCompare;
}
}
System.out.println(strings.get(longestStr));
for (int i = 0; i < strings.size(); i++) {
String s = strings.get(longestStr);
int firstToCompare = s.length();
String s1 = strings.get(i);
int secondToCompare = s1.length();
if (firstToCompare == secondToCompare) System.out.println(strings.get(i));
}
}
}