Programm auf Enter warten lassen?

3 Antworten

Mach einmal

nextLine();

vor der Frage "Welche Farbe soll dein Traumhaus haben?".

Das Problem kommt daher, dass du nach nextInt() nextLine() hernimmst.

Bei nextInt() gibst du ja eine Zahl ein und drückst dann Enter. nextInt() 'frisst' nur die Zahl auf, nicht aber das Enter-Zeichen (bzw. den Line-Feed) danach. (Das gilt übrigens für alle nextDatatype(), also auch nextDouble() oder sowas.). Wenn du dann nextLine() aufrufst sieht der Scanner, dass da noch ein Enter-Zeichen ist, und 'frisst' das auf. Daher wartet er da auf keinen Input - Er denkt er hat schon einen bekommen, nämlich das übrige Enter-Zeichen.

Workaround ist es, wie gesagt, einmal nextLine(); aufzurufen, sodass er das übrige Enter-Zeichen vom nextInt() 'frisst'.

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf

Wenn Du Zeile 11 schaust, ist input rot unterstrichen:
Bei Zeile 11 steht das Warndreieck in gelb, was heißt " not in use"

ich würde schreiben :

Scanner scanner = new Scanner(System.in) ;
System.out.........
String farbeChange = scanner.nextLine();

Oh sehe du verwendest ihn schon. Erläuter mal genauer dann dein problem inwiefern er nicht wartet?

Woher ich das weiß:eigene Erfahrung

DerDude93x666 
Fragesteller
 15.06.2021, 20:03

Erste Frage mit den Zimmer (Programm wartet, ich gebe 5 ein)

dann kommen gleich die 2 nächsten

es soll mir die aber nacheinander stellen also

Farbe ( warten auf eingabe) dann

das extra (warten auf eingabe) und dann

die infoAusgeben Methode (die hab ich in ner anderen klasse deklariert)

0