Функция Scanner не считывает последний параметр color
Цель моей программы заполнить данные полей об объекте Andrei с коавиатуры. Функция Scanner принимает все значения кросе последнего color. Я не могу заполнить значение Color. Вместо этого сразу выскакивает на экран информация о полях.Ниже прикладываю код результата в консоли.
ua.com.foxminded.school.School
Enter name of the first student:
Andrei Kulagin
Enter gender of the first student:
Male
Enter age of the first student:
24
Enter score of the first student:
5
Enter color of the first student:
A{name='Andrei Kulagin', gender='Male', age=24, score=5, color=''}
Process finished with exit code 0
Ниже прикладываю мой код:
package ua.com.foxminded.school;
import java.util.Scanner;
public class School {
public static void main (String[] args){
A Andrei = new A();
A Dima = new A();
A Alex = new A();
Scanner scanner = new Scanner(System.in);
System.out.println("Enter name of the first student: ");
Andrei.name = scanner.nextLine();
System.out.println("Enter gender of the first student: ");
Andrei.gender = scanner.nextLine();
System.out.println("Enter age of the first student: ");
Andrei.age = scanner.nextInt();
System.out.println("Enter score of the first student: ");
Andrei.score = scanner.nextInt();
System.out.println("Enter color of the first student: ");
Andrei.color = scanner.nextLine();
System.out.println(Andrei);
}
}
Код класса А:
package ua.com.foxminded.school;
public class A {
String name;
String gender;
int age;
int score;
String color;
@Override
public String toString() {
return "A{" +
"name='" + name + '\'' +
", gender='" + gender + '\'' +
", age=" + age +
", score=" + score +
", color='" + color + '\'' +
'}';
}
}
Ответы (1 шт):
Автор решения: стасевич
→ Ссылка
scanner.nextInt() ждёт число
scanner.nextLine() ждёт и считывает конец строки ("\n")
получается после ввода числа и нажатия "enter" автоматически отработает nextLine()
надо заменить scanner.nextLine() на scanner.next()