Do While wie ist es Richtig?

frogbender

Mitglied
hi


und zwar hab ich ein Programm auf Consolenbasis geschrieben und will am ende den Benutzer fragen ob er das Programm nochmal ausführen will. In dem Fall eine Berechnung.
Allerdings weiss ich nur das das Do das erste ist was ich oben stehen haben muss.
Wie das mit dem While ist habe ich keine Ahnung. Da unser Lehrer das nicht gut uns beibringen kann.

Hoffe ihr könnt mir helfen :D

MfG
 
Hallo,

die do-while-Schleife ist das gleiche wie die while-Schleife, nur dass sie mindestens einmal ausgeführt wird, selbst wenn die Bedingung falsch ist. Das sieht dann so aus:

do
{
programm
}
while(bedingung);

also in deinem Fall z.B.

Code:
do
{
    // andere anweisungen
    System.out.println("nochmal ausführen?");
}
while(System.in.read()=='j');

Die Schleife wird dann so lange ausgeführt, bis der Benutzer nicht 'j' (für ja) eingibt.
 
ok das funktioniert wie ist das jetzt wenn ich noch will das er das Große J als ja mit anerkennt... und nicht nur das kleine.
 
dafür liest du die Eingabe in der Schleife ein
Code:
do
{
   int i = System.in.read();
}
und vergleichst sie danach
Code:
while(i=='j' || i=='J');
oder
Code:
while(new String(i+"").equalsIgnoreCase("j"));
 
kleine zwichenfrage...

wasn der unterschied zwichen
Code:
int i = wert.readLine();

und
Code:
int i = System.in.read();

machen doch eigentlich beide das gleiche aber trotzdem funktioniert nur deine variante..


€: Problem hat sich aufgetan. Und zwar wenn ich dann ein J eingebe dafür das er nochmal berechnen soll dann Bringt er gleich die Frage nach dem Operator ,mit welchem man rechenn will, +, - usw. , so und gleich darauf gibt er aus das die erste zahl eingegeben werden soll dabei ist das "do" vor der Ausgabe mit dem"welchen operator"...

Anderes problem gleich noch dazu.
Ich habe die abfrage der operatoren als if bedinung geschrieben ohne else. Doch was ist wenn man eine Zahl oder ein Buchstaben eingeben will und dann noch Enter drückt. Dann nihmt er z.b. bei 5 das + Allerdings will ich das dann kommt Falscher Operator bitte neu eingeben. Wie bewerkställige ich das noch..?
 
Zuletzt bearbeitet:
Zurück