Der Code funktioniert für die Eingabe von Name und Alter der Frau, aber nicht die Namen der Söhne zu drucken, obwohl es ihr Alter ordnungsgemäß anzeigt.Probleme mit Scanner-Klasse
import java.util.Scanner;
public class Check2
{
public static void main(String[] args)
{
String wife;
String son1;
String son2;
int wifeAge;
int son1Age;
int son2Age;
Scanner keyboard = new Scanner(System.in);
System.out.println("Wife's name? ");
wife = keyboard.nextLine();
System.out.println("Her age? ");
wifeAge = keyboard.nextInt();
System.out.println();
System.out.println("First son's name? ");
son1 = keyboard.nextLine();
keyboard.nextLine();
System.out.println("His age? ");
son1Age = keyboard.nextInt();
System.out.println();
System.out.println("Second son's name? ");
son2 = keyboard.nextLine();
keyboard.nextLine();
System.out.println("His age? ");
son2Age = keyboard.nextInt();
System.out.println();
keyboard.nextLine();
System.out.println("My wife's name is " + wife + ". She is " +
wifeAge + " years old.\nOur first son is " +
son1 + ". He is " + son1Age + ".\nOur " +
"second son is " + son2 + ". He is " +
son2Age + ".");
}
}
diese Zeilen lesen, löst Ihr Problem, mögliches Duplikat [Scanner wird das Überspringen nextline() übernächsten() verwendet, nextInt() oder andere nextFoo() Methoden] (http://stackoverflow.com/questions/13102045/scanner-is-skipping-nextline-after-using-next-nextint-or-other-nextfoo) –
Erfahren Sie, wie Sie einen Debugger verwenden und debuggen Programm –
Ich habe ein funktionierendes Beispiel zur Verfügung gestellt. Bitte stimmen Sie die Antwort ab und klicken Sie auf √, um zu akzeptieren, wenn Sie die Lösung finden, die das Problem gut für Sie löst. Vielen Dank – clearlight