Erneutes Ausführen bestimmter Aktionen (GoTo-Alternative)

Status
Nicht offen für weitere Antworten.

Mr. X

Mitglied
Hallo,

Bei einigen Programmen kam ich in letzter Zeit nicht weiter, da ich nicht wusste, wie ich bestimmte Aktionen erneut ausführen kann. Dazu ein Beispiel, ich habe einen Quellcode geschrieben der jetzt nur das Nötige enthält:

Code:
import java.io.* ; 

public class SprTest {
  public static void main (String[] args) throws Exception {

//Zufallszahl im Wertebereich von 1-5 wird generiert:
int Zufallszahl = (int) (Math.random() * 5) +1 ;


//Benutzeraufforderung
System.out.println ("Geben Sie eine Zahl zwischen 1 und 5 an") ;

      // Einlesen des Strings, Umkonvertierung in Integer 
      String a=new BufferedReader(new InputStreamReader(System.in)).readLine() ;
      int i = Integer.parseInt( a ) ;

if (Zufallszahl==i)  // Trefferbedingung
{
System.out.println ("Die Zahlen stimmen ueberein") ;
}

else
{
System.out.println ("Die Zahlen stimmen nicht ueberein") ;
}

  }
}

Man wird also aufgefordert, eine Zahl zwischen 1 und 5 einzugeben. Diese eingegebene Zahl wird mit der generierten Zufallszahl verglichen. Anschließend kommt die jeweilige Ausgabe, ob sie miteinander übereinstimmen oder nicht, aber egal was passiert, das Programm wird danach beendet. Ich hätte es aber gerne so, dass man in diesem Falle ein weiteres mal dazu aufgefordert wird, eine Zahl zwischen 1 und 5 einzugeben, und das so lange, bis die Werte übereinstimmen. Bisher habe ich nur von der brake-Anweisung als Möglichkeit gehört, diese funktioniert aber meines Wissens nur innerhalb von Bedingungsschleifen. Dies hilft mir nicht weiter, da ich möchte dass die Zahl erneut eingelesen wird, was keine Bedingung ist. In dem oben angegebenen Quelltext sollte man dann also von Zeile 24 in Zeile 11 springen können.

Ich habe bereits in Google und diversen Büchern nachgeschlagen, konnte jedoch nichts hilfreiches finden. Auch in diesem Forum, wo bereits ein ähnliches Problem war, wurde es anders gelöst als von mir gewollt.
Deshalb würde ich von euch gerne wissen, wie ich bei dem Problem weiterkomme.

Besten Dank im Voraus.
 
R

Roar

Gast
do {
einlesen
} while(falscheeingabe);

> Auch in diesem Forum, wo bereits ein ähnliches Problem war, wurde es anders gelöst als von mir gewollt.
oder wie "willst" du es lösen ;)
 

Mr. X

Mitglied
Roar hat gesagt.:
do {
einlesen
} while(falscheeingabe);

> Auch in diesem Forum, wo bereits ein ähnliches Problem war, wurde es anders gelöst als von mir gewollt.
oder wie "willst" du es lösen ;)


Ja, das ist schon dass, was ich mir vorgestellt habe.
In dem anderen Beitrag wurde bloß die Main-methode erneut reingeschrieben oder so ähnlich... So, dass das Ganze eben zweimal statt nur einmal ausgeführt wird.

Bloß habe ich damit noch ein Problem:
Schreibe ich diesen Teil
Code:
System.out.println ("Geben Sie eine Zahl zwischen 1 und 5 an") ;

      // Einlesen des Strings, Umkonvertierung in Integer
      String a=new BufferedReader(new InputStreamReader(System.in)).readLine() ;
      int i = Integer.parseInt( a ) ;
Einmal am Anfang, und ein weiteres mal in die Do-Schleife, kommt die Meldung "a is already defined in main(java.lang.String[])".
Wenn ich Die Anweisung zum Einlesen alleine in die Do-Schleife schreibe, kommt die Meldung:" cannot find symbol", bezogen auf i, da diese Variable nicht richtig deklariert ist.

Vielleicht könnte mir mal jemand erklären, was wo stehen muss? Mit den Variablen, dem Einlesen etc.
Es wäre gut, wenn ihr mir einfach das Prinzipielle erklärt, es muss nicht der gesamte Quellcode sein.

Danke.
 

NTB

Bekanntes Mitglied
deklarier die Variable zufallszahl (Variablen werden klein geschrieben!) vor der dowhile:

Code:
int zufallszahl;
do {
   zufallszahl = zufallszahl = (int) (Math.random() * 5) +1 ; 
   Benutzereingabe einlesen
} while (falscheeingabe);
 

Saxony

Top Contributor
Hiho,

naja wenn man der Zufallszahl in der Schleife einen Wert zuweist, ändert sich dieser nach jeder Falscheingabe.
D.h. wenn im ersten Durchlauf 2 falsch war, kann diese im zweiten dann richtig sein.

Wollte nur mal drauf hinweisen, da ich nicht weiß ob das so gewünscht ist.

bye Saxony
 

Leroy42

Top Contributor
Saxony hat gesagt.:
Hiho,

naja wenn man der Zufallszahl in der Schleife einen Wert zuweist, ändert sich dieser nach jeder Falscheingabe.
D.h. wenn im ersten Durchlauf 2 falsch war, kann diese im zweiten dann richtig sein.

Stimmt!
Also eher so:
Code:
int zufallszahl  = (int) (Math.random() * 5) +1 ; 
do { 
   Benutzereingabe einlesen 
} while (falscheeingabe)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
E Audio Datei unter Bedingungen ausführen Java Basics - Anfänger-Themen 19
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
C 2 SwingWorkers nacheinander ausführen Java Basics - Anfänger-Themen 1
B Wie kann ich folgende Klasse/Methode per Button ausführen? Java Basics - Anfänger-Themen 1
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
Alex_99 Aktion ausführen wenn Frame disposed wurde Java Basics - Anfänger-Themen 5
mervanpolat Binary Search Algorithmus ausführen Java Basics - Anfänger-Themen 1
hebein Mit Javaprogramm webseiten automatisiert befüllen und ausführen Java Basics - Anfänger-Themen 6
Jose05 ausführen im cmd schlägt fehl Java Basics - Anfänger-Themen 2
N Eclipse Programm normal ausführen Java Basics - Anfänger-Themen 1
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
D Methoden nach einer bestimmten Reihenfolge ausführen. Java Basics - Anfänger-Themen 20
Z Mehtode bei Start des Programms ausführen (Klassen übergreifend) Java Basics - Anfänger-Themen 12
J B-Sprache mit Arrays ausführen Java Basics - Anfänger-Themen 18
C Programm ausführen ohne JRE? Java Basics - Anfänger-Themen 3
B Wie kann ich etwas vor der Main-Methode ausführen? Java Basics - Anfänger-Themen 21
T src Ordner ausführen Java Basics - Anfänger-Themen 9
A Fehler beim Ausführen einer class Datei Java Basics - Anfänger-Themen 6
M Compiler-Fehler Fehler beim Ausführen des Codes Java Basics - Anfänger-Themen 25
F cmd Befehl ausführen Java Basics - Anfänger-Themen 4
H Rekursiv Methode ausführen bei Kindern Java Basics - Anfänger-Themen 12
M Rot Schwarz Bäume, ausführen? Java Basics - Anfänger-Themen 6
CptK Methoden While-Schleife so lange ausführen, wie Methode etwas zurückgibt Java Basics - Anfänger-Themen 2
F Shell Script ausführen Java Basics - Anfänger-Themen 5
F Java auf Windows Konsole ausführen Java Basics - Anfänger-Themen 1
B UML Klassen Diagramm zu Java Code Programmieren und ausführen Java Basics - Anfänger-Themen 21
L Linux Befehle unter Windows in Eclipse ausführen Java Basics - Anfänger-Themen 3
L Shell Script ausführen in Java Java Basics - Anfänger-Themen 4
K Programm ausführen Java Basics - Anfänger-Themen 2
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
dapzoo Class File Version zu niedrig? Ausführen über Eingabeaufforderung nicht möglich Java Basics - Anfänger-Themen 14
alkaA Intellij Java Datei aus nicht Projekt ausführen? Java Basics - Anfänger-Themen 2
G sqlplus commands in java ausführen Java Basics - Anfänger-Themen 15
CptK Interface JTextField: Action mit Enter ausführen Java Basics - Anfänger-Themen 16
CptK Methoden Methode in MouseListner ausführen Java Basics - Anfänger-Themen 1
P jar file lässt sich nicht ausführen Java Basics - Anfänger-Themen 4
N Fehlermeldung beim ausführen des Programmes.. Java Basics - Anfänger-Themen 3
T Klassen 2 Klassen zeitgleich ausführen Java Basics - Anfänger-Themen 3
V Erste Schritte Anfänger: Ausführen eines Java-Programms Java Basics - Anfänger-Themen 5
B Java Eclipse Programm in einer Batch ausführen Java Basics - Anfänger-Themen 3
diqqerrr Java Datei als .exe ausführen Java Basics - Anfänger-Themen 8
I Erste Schritte Native code library failed to load beim Ausführen eines Beispiels Java Basics - Anfänger-Themen 5
Z Enter Taste alle 0,5 Sekunden ausführen Java Basics - Anfänger-Themen 1
H Script ausführen wenn Browser Notification eingetroffen ist? Java Basics - Anfänger-Themen 3
S Methoden Beim Start meines Projektes eine Methode ausführen Java Basics - Anfänger-Themen 14
V Methode eines Objekts einer ArrayList ausführen Java Basics - Anfänger-Themen 3
B Timer mehrere Male ausführen Java Basics - Anfänger-Themen 4
M Java Programm über Batch-Datei ausführen Java Basics - Anfänger-Themen 1
RowdyN Methoden Befehle in zufälliger Reihenfolge ausführen lassen Java Basics - Anfänger-Themen 5
T Parallel ausführen Java Basics - Anfänger-Themen 1
F Konsolen Befehl ausführen und Rückgabe auswerten Java Basics - Anfänger-Themen 3
S .java Datei in java Datei ausführen Java Basics - Anfänger-Themen 9
X Schleife bis "Bedingung" ausführen Java Basics - Anfänger-Themen 13
AssELAss Klassen Java Klasse in main-methode ausführen Java Basics - Anfänger-Themen 7
H Classpath VBScript in Jar-archiv ausführen Java Basics - Anfänger-Themen 2
F Thread um Uhrzeit ausführen Java Basics - Anfänger-Themen 5
D Input/Output Mehrere Befehle nacheinander ausführen Java Basics - Anfänger-Themen 20
quecksilver if-Abfrage in main ausführen Java Basics - Anfänger-Themen 4
F Per Klick Klasse ausführen Java Basics - Anfänger-Themen 4
S Fehler beim Ausführen Java Basics - Anfänger-Themen 5
A Methode aus einer anderen Klasse ausführen Java Basics - Anfänger-Themen 7
F Methode alle 15min ausführen Java Basics - Anfänger-Themen 5
K Exception nur im "Debug"-Modus und jedem 3.-5. mal Ausführen Java Basics - Anfänger-Themen 3
L Konsole öffnen und Java Programm darin ausführen Java Basics - Anfänger-Themen 4
J Ausführen geht nicht Java Basics - Anfänger-Themen 19
K Tastaturkombinationen ausführen Java Basics - Anfänger-Themen 5
S URL Ausführen Java Basics - Anfänger-Themen 2
D Fehlermeldung beim Ausführen eines Java Programms Java Basics - Anfänger-Themen 4
H Funktion in Hintergrund und Vordergrund ausführen Java Basics - Anfänger-Themen 11
J Eingabeaufforderung stürzt ab (beim Ausführen einer Java-Datei) Java Basics - Anfänger-Themen 3
V Algorithmus in einer Methode ausführen Java Basics - Anfänger-Themen 3
U Java Swing Timer mit ButtonKlick starten u. nach 12 Sekunden Befehl ausführen Java Basics - Anfänger-Themen 7
M Komplexe Datenauswertungen in Java oder besser auf Datenbankseite ausführen? Java Basics - Anfänger-Themen 4
E Anderes Programm ausführen Java Basics - Anfänger-Themen 8
I .lnk ausführen oder das Ziel auslesen Java Basics - Anfänger-Themen 7
L0MiN Datei lässt sich nicht ausführen Java Basics - Anfänger-Themen 3
G Variabel: Nach String benannte Methode ausführen Java Basics - Anfänger-Themen 13
S Unterschied .jar Datei ausführen und junit Testfall... Java Basics - Anfänger-Themen 3
T kann methode nicht ausführen Java Basics - Anfänger-Themen 5
D main-Methode und Tread parallel ausführen Java Basics - Anfänger-Themen 0
F Problem bei eshop -> Ausführen einer Methode über eine Shopverwaltung Java Basics - Anfänger-Themen 6
N Mit Java Befehle auf Konsole ausführen Java Basics - Anfänger-Themen 4
P Aktion ausführen wenn Button geklickt wird Java Basics - Anfänger-Themen 7
C CMD Befehl + Variable im Java-Code ausführen Java Basics - Anfänger-Themen 8
F Glassfish APP über SSL ausführen Java Basics - Anfänger-Themen 0
0 Über CMD die JAVA Datei ausführen? möglich? Java Basics - Anfänger-Themen 8
M Ausführen rückgängig machen Java Basics - Anfänger-Themen 2
S Methoden Methode einer anderen Klasse ausführen? Java Basics - Anfänger-Themen 6
G Erste Schritte Timer: In einem festgelegten Intervall eine Methode ausführen Java Basics - Anfänger-Themen 6
F alle 100ms Befehle ausführen Java Basics - Anfänger-Themen 26
K Klassen hintereinander ausführen Java Basics - Anfänger-Themen 7
D java Datei ausführen? Java Basics - Anfänger-Themen 4
W Erste Schritte Executable jar file ausführen: Programm Blast Java Basics - Anfänger-Themen 2
F Java-Programm aus CMD ausführen mit Parametern Java Basics - Anfänger-Themen 7
J Befehle aus anderen Klassen ausführen Java Basics - Anfänger-Themen 8
L Ausführen von Methoden Java Basics - Anfänger-Themen 4
S Datei ausführen, verschiedene Ordner Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben