Wenn ich diesen Code ausführe, überspringe er die erste Zeile ("Input first name:") und frage nach dem Nachnamen. Wie behebe ich das?Warum überspringt das die erste Zeile?
public static void newProduct() {
System.out.println("Input first name: ");
String fname = scan.nextLine();
System.out.println("Input last name: ");
String lname = scan.nextLine();
}
Der Ausgang jedes Mal wenn ich laufen diese ist:
Input first name: <User cannot input as this line gets skipped>
Input last name: <User can input>
Vielen Dank im Voraus.
Versuchen Haben Sie andere 'nextXXX' woanders vor dieser Zeile? Vielleicht in einer anderen Methode? – Maroun
@MarounMaroun JA!, Danke. Du kannst es in den Kommentar einfügen. Prüfe es als Antwort, sobald die Abklingzeit beendet ist. – Supremo
Dies passiert, weil 'nextInt' beispielsweise nicht das neue Zeilenzeichen (die Eingabetaste, die Sie drücken), sondern nur Ziffern verwendet. Dieses "übrig gebliebene" Zeichen wird dann in Ihrer nächsten 'nextLine' verbraucht. Die Lösung wäre, einen anderen Scanner zu verwenden oder vorher eine andere 'nextLine' hinzuzufügen. – Maroun