Java пропускает строку (строки в сканере ??) [дубликаты]
На этот вопрос уже есть ответ здесь:
Ошибка сканера при использовании nextLine после nextXXX [дубликат]Я изучаю Java, и я не очень далеко в этом, и я не знаю почему, но Java, казалось, пропустил строку. Я не думаю, что код со всех моих страниц действительно необходим, поэтому я просто добавлю первую страницу и результат, который получу при ее использовании. Спасибо!
import java.util.Scanner;
public class First {
public static void main(String args[]){
Scanner scanz = new Scanner(System.in);
System.out.println("Hello, please tell me your birthday!");
System.out.print("Day: ");
int dayz = scanz.nextInt();
System.out.print("Month: ");
int monthz = scanz.nextInt();
System.out.print("Year: ");
int yearz = scanz.nextInt();
System.out.println("Now, tell me your name!");
System.out.print("Name: ");
String namez = scanz.nextLine();
Time timeObject = new Time(dayz,monthz,yearz);
Second secondObject = new Second(namez,timeObject);
System.out.println("\n\n\n\n\n" + secondObject);
}
}
Это пропускает линию
String namez = scanz.nextLine();
Вывод на консоль: (простите за день рождения, это другой материал)
Hello, please tell me your birthday!
Day: 34
Month: 234
Year: 43
Now, tell me your name!
Name:
My name is and my birthday is 00/00/43
Это не дает вам возможности дать имя, оно просто пропускает мимо и принимает имя как нулевое. Пожалуйста, если кто-нибудь может, скажите мне, почему! Я хочу изучать Java, и это маленькое раздражение стоит на моем пути.
Спасибо!