https://javarush.com/quests/lectures/questsyntax.level07.lecture06
Задача "Минимальное или максимальное"
Мой алгоритм решения задачи "Минимальное или максимальное" из набора слов
дедушка
бабушка
папа
мама
сын
дочь
коты
собака
программа
машина
вывел в консоль "сын". Т.к. это - самое короткое слово в наборе стоит раньше самого длинного слова набора - "программа".
Но мне это зачли ошибкой.
Почему?
Вот текст программы:
public class Solution {
public static ArrayList<String> strings;
public static void main(String[] args) throws IOException { InputStreamReader ipsr = new InputStreamReader(System.in);
BufferedReader bfrr = new BufferedReader(ipsr);
strings = new ArrayList<>();
String str;
int indexMax = 0;
int indexMin = 0;
int lengthMax = 0;
int lengthMin = 10000;
int lengthStr;
for (int i = 0; i < 10; i++) {
str = bfrr.readLine();
lengthStr = str.length();
strings.add(str);
if (lengthStr < lengthMin) {
lengthMin = lengthStr;
indexMin = i;
} else if (lengthStr > lengthMax){
lengthMax = lengthStr;
indexMax = i;
}
}
if (indexMax < indexMin) {
System.out.println(strings.get(indexMax));
} else {
System.out.println(strings.get(indexMin));
}
}
}
Red Baron
21 уровень
В чём ошибка?
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Red Baron Backend Developer
3 ноября 2021, 17:54полезный
Спасибо за урок. На вашем наборе код сработал не правильно. Согласен :)
И даже понял свою ошибку :)
+1
Ksenia VolkovaJava Developer в DXCMaster
3 ноября 2021, 17:13
Если твой код сработал правильно на каком-то конкретном наборе данных, это еще не значит, что он соответсвует требованиям.
Попробуй так:
0