Не пропускает по одному пункту:
- программа должна вывести самую короткую строку, если она была раньше длинной
Но, она как раз и выводит самую короткую строку!
Не пойму в чем проблема. В ИДЕЕ все работает отлично со всеми вариантами.
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> str = new ArrayList<>();
for (int i = 0; i < 10; i++) { // запускаем цикл
str.add(reader.readLine()); // считываем с клавиатуры и заносим значения в массив
}
int s = str.get(0).length(); // переменная для поиска короткого значения. Приравниваем к длине первой строки
int l = 0; // переменная для поиска длинного значения. Приравниваем к нулю
String s_i = null; // переменная для найденного значения короткой строки
String l_i = null; // переменная для найденного значения длинной строки
for (int i = 0; i < str.size(); i++) { // запускаем цикл
if (str.get(i).length() < s) { // ищем самую короткую строку
s = str.get(i).length(); // присваиваем размер короткой строки переменной s
s_i = str.get(i);} // присваиваем значение короткой строки переменной s_i
if (str.get(i).length() > l) { // ищем самую длинную строку
l = str.get(i).length(); // присваиваем размер самой длинной строки переменной l
l_i = str.get(i);} // присваиваем значение длинной строки переменно l_i
}
//System.out.print(l_i + " - " + s_i + " ");
for (int i = 0; i< 10; i++) {
// в цикле ищем соотвествие значениям переменных l_i и s_i
if (str.get(i) == l_i) {
// ищем соответствие значению длинной строки
System.out.print(str.get(i)); break;} // если нашли первым, выводим на экран и прерываем цикл
else
if (str.get(i) ==s_i) {
// ищем соответствие значению короткой строки
System.out.print(str.get(i)); break;}
// если нашли первым, выводим на экран и прерываем цикл
}
}
}