Алгоритм вроде бы работает, можно было попроще, согласен, но мне так удобнее. При выводе в консоль в списке оказываются строки, которые не были введены с консоли. Не могу допереть, как они туда попадают.
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> listok = new ArrayList<String>();
for (int i = 0; i < 10; i++)
{
String s = reader.readLine();
listok.add(s);
}
String Longee = null;
String Shortee = null;
int shortie = listok.get(0).length();
int longie = listok.get(0).length();
for (int i = 0; i < 10; i++){
if (listok.get(i).length()<shortie ) {
shortie = listok.get(i).length();
}
}
for (int i = 0; i < 10; i++){
if (listok.get(i).length()>longie ) {
longie = listok.get(i).length();
}
}
int shortind = 0;
for (int i = 0; i < 10; i++){
if (listok.get(i).length()==shortie ) {
shortind = i;
Shortee = listok.get(i);
break;
}
}
int longind = 0;
for (int i = 0; i < 10; i++){
if (listok.get(i).length()==longie ) {
longind = i;
Longee = listok.get(i);
break;
}
}
if(longind>shortind){
System.out.println(Longee);
}
else {
if(shortind>longind){
System.out.println(Shortee);
}
}
}
}