Ziemlich verwirrt, wie der folgende Code funktioniert:Führen Methoden von oben nach unten aus, wenn sie von der Hauptmethode aufgerufen werden?
static Scanner sc = new Scanner(System.in);
public static int GetAnInteger()
{
while (!sc.hasNextInt())
{
sc.nextLine();
System.out.print("That's not "
+ "an integer. Try again: ");
}
return sc.nextInt();
}
Ich verstehe, dass .hasNextInt() einen Wert erfasst und dient als boolean zu testen, ob es ein int ist. .nextLine() zeichnet die nächste Zeile auf, aber wie debuggt sie die Schleife?
Auch wenn ich den Code ausführen, soll das System die Anweisung nicht drucken, nachdem ich in .nextLine() eingegeben habe?
Ohne zu wissen, was Klasse sc ist, ist es ziemlich schwer zu erklären, obwohl ich es erraten kann. Können Sie die Frage aktualisieren, um den Beitrag zu klären? – Prisoner
Methoden werden in der Reihenfolge aufgerufen, in der sie aufgerufen werden. nicht unbedingt von oben nach unten. –
Wenn Sie sofort ein 'int' eingeben, wird die Schleife effektiv übersprungen. –