Java Programme solange wiederholen bis Zeichen eingegeben wird?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich würde dir eine "do while" Schleife vorschlagen, denn dort kannst du am Fuß der Schleife durch die While-Bedingung festlegen wann die Schleife verlassen werden soll.

Damit die Schleife ständig durchlaufen wird, ohne auf die Eingabe zu warten, brauchst du am besten einen Thread. Dazu bitte einmal in Google schnell nachschauen, wie er gemacht wird.

Der Thread sollte dann auf ein boolisches Attribut zugreifen können, welches vom laufenden Thread auf true gesetzt wird, falls in der Konsole "*" eingegeben wurde. Dieser boolische Wert wird dann bei jedem Schleifendurchlauf in der While-Bedingung überprüft. Damit die Schleife wunschgemäß verlassen wird, musst du den boolischen Wert in der While-Bedingung noch negieren.


1Metrox1 
Fragesteller
 07.04.2017, 14:33

Mein bisheriger Ansatz:

char zeichen;
do
{
zeichen = Tastatur.readChar("Bitte Zeichen eingeben");
System.out.println("Zeichencode von" + zeichen + "lautet" + (int)zeichen);
}
while (zeichen !=42);

(42 ist der Zeichencode für *)

Nach dem Prinzip werde ich jetzt jedes mal um eine Eingabe gebeten, welche !=* ist. Sonst bricht die Schleife ja ab.

Warum man in diesem Zusammenhang mit einem Thread arbeiten soll ist mir jedoch nicht klar. Damit hatten wir bisher auch noch nicht gearbeitet.

0

Hallo!

Die Schleife ist im Prinzip egal .. es liegt an deinem Program.

Für die Abfrage auf Eingabe von "*" (oder anderes) benötigst du einen sogenannten Event-Handler (Event = Geschehen/Ereignis).

Das Ereignis ist Tatstendruck "*", und falls dies geschieht, Schleife beenden (siehe Dokumentation zu Java)

Gruß

Man sollte erst mal wissen, was die Schleife überhaupt macht. Vielleicht brauchst du sie ja gar nicht.