Программа пропускает один ввод строки
Есть код:
System.out.println("ВВЕДИТЕ ДАННЫЕ ОБЪЕКТА!");
Scanner input = new Scanner(System.in);
System.out.println("Скорость: ");
speed = input.nextInt();
System.out.println("Вес: ");
weight = input.nextInt();
System.out.println("Тип: ");
type = input.nextLine();
System.out.println("Цвет: ");
color = input.nextLine();
input.close();
Все вводиться правильно, но код всегда после ввода чисел пропускает один ввод строки, но при этом второй работает нормально. В чем может быть проблема?
Ответы (1 шт):
Автор решения: had0uken
→ Ссылка
Беда в том, что вы когда передаете число, вы нажимаете Enter - тем самым передаете символ перевода строки \n. Этот символ и записывается в ваш следующий nextLine()
Бороться с этим можно так:
System.out.println("ВВЕДИТЕ ДАННЫЕ ОБЪЕКТА!");
Scanner input = new Scanner(System.in);
System.out.println("Скорость: ");
int speed = input.nextInt();
System.out.println("Вес: ");
int weight = input.nextInt();
System.out.println("Тип: ");
input.nextLine(); //Съесть лишний символ
String type = input.nextLine();
System.out.println("Цвет: ");
String color = input.nextLine();
input.close();