Java pomija linię (Strings in a Scanner ??) [duplicate]
To pytanie ma już tutaj odpowiedź:
Problem ze skanerem podczas korzystania z nextLine po następnymXXX [duplikacie]Uczę się języka Java i nie jestem zbyt daleko w tym, i nie wiem, dlaczego, ale Java wydawała się pomijać linię. Nie sądzę, aby kod ze wszystkich moich stron był naprawdę potrzebny, więc po prostu umieściłem pierwszą stronę i wynik, który otrzymam podczas jej używania. Dzięki!
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);
}
}
Pomija linię
String namez = scanz.nextLine();
Wyjście konsoli: (wybacz bit urodzinowy, to inne rzeczy)
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
To nie daje szansy na podanie nazwy, po prostu przeskakuje w przeszłość i przyjmuje nazwę jako null. Proszę, jeśli ktokolwiek mógłby mi powiedzieć, dlaczego! Chcę się nauczyć Java, a ta mała irytacja stoi mi na drodze.
Dzięki!