//Этот кусок кода выдает 2 ошибки по 2 последним пунктам...
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))
String s = reader.readLine();
int count = 0;
if (s.equals("helicopter")) {
result = new Helicopter();
}
else if (s.equals("plane")) {
count = Integer.parseInt(s);
result = new Plane(count);
}
//Этот проходит и задача решается!
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String str = reader.readLine();
int count = 0;
if (str.equals("helicopter")) {
result = new Helicopter();
}
else if (str.equals("plane")) {
count = Integer.parseInt(reader.readLine());
result = new Plane(count);
}
Zoman
22 уровень
Чем отличается 2 куска кода. ОДин проходит, другой нет.
Решен
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Олег Полукеев
19 ноября 2020, 09:27
.readLine() считывает данные в момент вызова. Таким образом в первом случае ты записываешь в счетчик уже введенную ранее строку
0
hidden #2322530
2 октября 2020, 13:26полезный
здесь будет исключение
+1
Zoman
6 октября 2020, 10:58
почему?
0
hidden #2322530
6 октября 2020, 11:00решение
потому что этот код
запустится при выполнении выражения в условии:
а как ты будешь преобразовывать слово "plane" в число?
+2
Алексей
6 ноября 2020, 06:17
Что у тебя содержится в переменной s ?😉
+1
Zoman
3 июля 2021, 06:35
спасибо
0