Добрый день! Не могу понять, подскажите кто разобрался.
Код условие задачи удовлетворяет, но для себя ходу уяснить почему пишем:
for (int i = 0; i < 5; i++) - так проходит проверку,
но если
for (int i = 0; i < strings.size(); i++) - то так нет.
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;
public static void main(String[] args) throws Exception {
//напишите тут ваш код
ArrayList<String> strings = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 5; i++)
//for (int i = 0; i < strings.size(); i++) - вот так не проходит
// Вопрос: В таком виде в IntelliJ IDEA проходит, но если поменять 5 на strings.size(), то нет.
//Почему так? Мы не всегда можем знать длину массива, вроде как для этого ArrayList.
// На проверку решение еще не отправлял, т.к. хочу разобраться что к чему.
{
String s = reader.readLine();
strings.add(s);
}
int max = strings.get(0).length();
for (int i = 0; i < strings.size(); i++) {
if (max <= strings.get(i).length())
max = strings.get(i).length();
}
for (int i = 0; i < strings.size(); i++) {
if (strings.get(i).length() == max)
System.out.println(strings.get(i));
}
}
}