Как .next() и .nextLine() взаимодействуют с вводом [дубликат]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как .next() и .nextLine() взаимодействуют с вводом [дубликат]

Сообщение Anonymous »

Код: Выделить всё

for(int i = 0; i < regArray.length; i++){
System.out.println("Registration number : " + Registration.getNextRegNo());
System.out.println("Enter name = ");
String name = sc.nextLine();
System.out.println("Enter IC name = ");
String IC = sc.next();

Owner owner = new Owner(name, IC);

System.out.println("Enter plate number = ");
String plateNo = sc.next();
System.out.println("Enter color = ");
String color = sc.next();
System.out.println("Enter year = ");
int year = sc.nextInt();

System.out.println("Enter car type = ");
for(int x = 0; x < carTypeArray.length; x++){
System.out.println(x + ": " + carTypeArray[x]);
}

int choice = sc.nextInt();
CarType carType = carTypeArray[choice];
Car car = new Car(plateNo, color, year, carType);

regArray[i] = new Registration(owner, car);
sc.nextLine();
}
Привет, новичок в JAVA. Недавно я попытался создать программу регистрации, как показано в примере кода выше. Я понял, что последняя функция sc.nextLine() используется для обработки введенных пользователем данных после того, как они ввели тип своего автомобиля. Когда я меняю его на sc.next(), программа, кажется, принимает первый ввод, т.е. 1, и когда я нажимаю Enter, программа не перестает читать ввод. Однако когда я ввожу второй символ и снова нажимаю Enter, программа, похоже, продолжает работу и повторяет цикл.
Изображение


Подробнее здесь: https://stackoverflow.com/questions/788 ... with-enter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»