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