Знаю как найти первую минимальную или максимальную и вывести, но не могу понять как вывести несколько минимальных/максимальных первых строк. Пробовал двойное условие в оператор if заводить: (list.size() == max && indexMaxStr < indexMinStr)
Но это тоже не помогает.
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 IOException {
//напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> list = new ArrayList<String>();
for( int i = 0; i < 10; i++)
{
String s = reader.readLine();
list.add(s);
}
int razmerStrMin = 0;
int indexMinStr = 0; //Поиск минимальной строки
int min = list.get(0).length();
for(int i= 0; i < list.size(); i++) {
if (min >= list.get(i).length()) {
min = list.get(i).length();
indexMinStr = i;
razmerStrMin = list.size();
}
}
int razmerStrMax = 0;
int indexMaxStr = 0; //Поиск максммальной строки
int max = list.get(0).length();
for(int i= 0; i < list.size(); i++) {
if (max <= list.get(i).length()) {
max = list.get(i).length();
indexMaxStr = i;
razmerStrMax = list.size();
}
}
int x = 0;
int y = 0;
for( int i = 0; i < list.size(); i++) {
if (razmerStrMax < razmerStrMin) { //(list.size() == max && indexMaxStr < indexMinStr)
// x = i;
System.out.println(list.get(i));
}
else if (razmerStrMax > razmerStrMin) { //(list.size() == min && indexMaxStr > indexMinStr)
//y = i;
System.out.println(list.get(i));
}
}
}
}