перед тем, как что-то менять, решил разобраться, как работает изначальный код...
Сразу в ArrayList попадают все введённые строки, если считать, что условие family.isEmpty() рабочее(практика показывает обратное), затем появляется int номер дома, который откуда-то берет ещё одну строку, хотя в while break срабатывает, только когда введенных строк уже нет... Дальше из вышеописанного делать выводы очень сложно...
В общем даже изначальный код у меня не работает СОВСЕМ!!! Может кто объяснить, что происходит!?
Арсений Коротков
25 уровень
что за...???
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Арсений Коротков
13 октября 2021, 09:33решение
Не заметил, что предпоследняя строка ввода пустая, из-за чего при тестах выдавало ошибки
+2
Арсений Коротков
7 октября 2021, 06:43
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
List<String> list = new ArrayList<>();
while (true) {
String family = reader.readLine();
if (family.isEmpty()) {
break;
}
list.add(family);
}
// Read the house number
int houseNumber = Integer.parseInt(reader.readLine());
if (0 <= houseNumber && houseNumber < list.size()) {
String familyName = list.get(houseNumber);
System.out.println(familyName);
}
}
}
Я здесь ничего не менял, это стартовое условие задачи, работу которого я не могу понять
0
KIRAРазработчик в prosv.ruExpert
7 октября 2021, 07:56
Читают фамилии с консоли, если строка не пустая заносят запись в список, если пустая выходят из цикла.
Тут даже подписано, читают число с консоли (номер дома)
Получают запись по индексу
+1
НикитаExpert
6 октября 2021, 19:09
код покажи
0