Не мог решить задачу более часа, а все из-за вот такой штуки:
Почему нужно писать так?
Scanner scanner = new Scanner(System.in);
int num;
String line = scanner.nextLine();
num = scanner.nextInt();
А не так?
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
String line = scanner.nextLine();
Anonymous #2868273
5 уровень
Подскажите плез
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
11 марта 2022, 07:10
Ну во-первых "ввести строку и число" в условии предусматривает ввести сначала строку, потом число.
А во-вторых есть такая особенность работы сканера, что после nextInt (или nextDouble, nextFloat, nextBoolean и других) метод nextLine сначала считает пустую строку, а только потом уже следующую введённую строку. Это надо всегда держать в голове, поэтому я в целом не рекомендую комбинировать использование этих методов в рамках одного и того же сканера.
+3