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