Объясните, пожалуйста, что имелось в виду под
Программа должна выводить на экран самую короткую строку, если она была раньше самой длинной.
Программа должна выводить на экран самую длинную строку, если она была раньше самой короткой.
Потому что при запуске выводится у меня "сын", но проверка не проходит
package com.javarush.task.task07.task0712;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Самые-самые
*/
public class Solution {
public static void main(String[] args) throws Exception {
//напишите тут ваш код
int count = 0;
ArrayList<String> list = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 10; i++) {
list.add(reader.readLine());
}
ArrayList<Integer> listCount = new ArrayList<>();
for (int i = 0; i < 10; i++) {
String any = list.get(i);
count = any.length();
listCount.add(count);
}
int min = listCount.get(0);
int max = listCount.get(0);
int indeks = 0;
int indeksmax = 0;
for(int i = 0; i < listCount.size(); i++) {
if (listCount.get(i) <= min) {
min = listCount.get(i);
indeks = i;
}
}
for(int i = 0; i < listCount.size(); i++) {
if (max <= listCount.get(i)) {
max = listCount.get(i);
indeksmax = i;
}
}
System.out.println(list.get(Math.abs(indeksmax-indeks)));
}
}
/*
3. Узнай, какая строка в списке встретится раньше: самая короткая или самая длинная.
Если таких строк несколько, то должны быть учтены самые первые из них.
4. Выведи на экран строку из п.3. Должна быть выведена одна строка.
3. Программа должна выводить на экран самую короткую строку, если она была раньше самой длинной.
4. Программа должна выводить на экран самую длинную строку, если она была раньше самой короткой.
5. Должна быть выведена только одна строка.
*/