Tastatureingabe in KarelJ

K

kommnichtweiter

Gast
hallo,

habe ein Problem mit KarelJ. Muss in der Methode boolean ...(), mit Hilfe der Methode Utils.ask() eine Tastatureingabe abfragen, danach soll eine Aktion ausgeführt werden.

z.B. Taste 'a' Gehe nach Süden
Taste 'b' Gehe nach Süden

Am Ende soll die Methode immer true zurückgeben.

Habe

boolean ...() {

if(Utils.ask() == 'a') {
moveDirection(South, West);
return true;
}
}
.........

Die erste Eingabe funktioniert. Aber alle anderen Eingaben danach funktionieren nicht mehr.
Wenn jemand mir einen Tipp geben könnte, vielen Dank.
 
F

Firephoenix

Gast
vermutlich weil deine Methode einmal ausgeführt wird, dann eine eingabe bekommt, true zurückgibt und das Programm beendet.

Soll die Eingabe endlos erfolgen oder gibt es eine phrase wie "bei der eingabe = X" soll das programm beenden?
In diesem Fall müsste die Methode wohl false zurückliefern.

Dann könnte das Programm so aussehen:

while(...()){
//Sonstiger Code pro durchlauf falls benötigt.
}

Ob das der beste Stil ist sei mal dahingestellt :) ich persönlich bin kein Fan von Methoden die viele Dinge auf einmal machen.


Falls du die Alternative hast würde ich so eine Struktur bevorzugen:

char eingabe;
while((eingabe = Utils.Ask()) != 'X'){
//Dein Bewegungscode und sonstige Eingabefälle
}

Gruß
 

Ähnliche Java Themen

Neue Themen


Oben