Из-за того, что не понимаю, как работает цикл for по коллекции последние два условия не выполняются. Прошу помочь разобраться и в конкретной задаче, и в целом.
P.S. Извиняюсь за длинный код: когда не понимаю, где ошибка, начинаю расписывать детально и System.out.println втыкать для наглядности.
package com.javarush.task.jdk13.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 {
//напишите тут ваш код
ArrayList<String> list = new ArrayList<String>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 5; i++) {
list.add(reader.readLine());
}
ArrayList<Integer> dliny = new ArrayList<Integer>();
for (int i = 0; i < 5; i++) {
dliny.add(list.get(i).length());
}
// System.out.println(dliny.get(1)); = 7
// System.out.println(dliny.get(4)); = 6
int minNum = dliny.get(0);
// System.out.println(minNum); = 7
for (int j : dliny) {
if (j < minNum)
minNum = j;
}
// System.out.println(minNum); = 4
for (int k : dliny) {
if (k == minNum)
System.out.println(list.get(k)); // выводит машину, а не дочь, видимо, потому что в "к" уже 4, а не 2
}
}
}