В чем причина? Подскажите пожалуйста, почему валидатор не пропускает последние два пункта:
- Программа должна выводить самую длинную строку на экран.
- Если есть несколько строк с длиной равной максимальной, то нужно вывести каждую из них с новой строки.
package com.javarush.task.task07.task0708;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Самая длинная строка
*/
public class Solution {
private static List<String> strings = new ArrayList<>();
static String max1;
public static void main(String[] args) throws Exception {
//напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int i;
max1 = "";
//Заполнение списка и определение самой длинной строки::
for (i = 0; i < 5; i++) {
strings.add(reader.readLine());
if (strings.get(i).length() >= max1.length())
max1 = strings.get(i);
}
//Заполнение второго списка, на случай если в первом списке есть несколько одинаковых строк:
for (i = 0; i < strings.size(); i++ )
{
if (strings.get(i).length() >= max1.length())
strings.set(i,strings.get(i));
else strings.set(i,null);
}
//Вывод на экран:
System.out.println("Strings with max size: ");
//System.out.println(max);
for (i = 0; i < strings.size(); i++)
{ if(strings.get(i)!=null)
System.out.println(strings.get(i));
}
}
}