methodenabbruch

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo Leute,

aus einer Methode rufe ich aus einer while-Schleife eine andere Methode auf:
Code:
while(...) {
  auswertung();
}

In dieser Methode wird eine Auswertung gemacht mit if-else:
Code:
         if (....) {
         }
        else {
          int selection = JOptionPane.showConfirmDialog(null,
              ".......! ", "Information",
              JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE);
 //       break;     geht nicht
        }

Das Problem:
Wenn das Dialogfeld aufgerufen wird, so ist das eine Benachrichtigung, dass die Auswertung bereits gemacht wurde. Am liebsten würde ich nach der JPtionPane ein break setzen, damit der die while-Schleife unterbrochen wird. Das geht aber nicht.

Frage:
Wie kann ich die while-Schleife unterbrechen?

Danke für eure Hilfe!
 

norman

Top Contributor
wahrscheinlich ist das eine eher schlechte lösung, aber du könntest es einmal so versuchen:
an der stelle, wo du das break setzten möchtest, änderst du eine variable (zb. boolean fertig=true).

in der while-schleife machst du dann eine kleine bedingung, z.B.:
if (fertig==true) {
>>abbruchbedingung der while schleife erfüllen
}
hast du also while(x!=5) ... dann könntest du jetzt in der if bedingung x=5 setzen.


Alle Angaben ohne Gewähr.
 
G

Guest

Gast
Danke für den Tipp. Das müsste aber (falls es funktioniert) einfacher zu haben sein (Denke ich).
Ansatz ist die int selection. Dort bekomme ich einen Rückgabewert den ich ja dann auswerten kann. Allerdings habe ich da schon wieder ein Problem und zwar, dass egal was ich mache der Rückgabewert immer 0 ist. Kann ich einen Rückgabewert selbst festlegen? Habe in der API geguckt, leider aber nichts bracubares gefunden.
 

Mag1c

Top Contributor
Hi,

Code:
while(...) {
...
    boolean toBreak = auswertung();
    if (toBreak) break;
...
}

boolean auswertung () {
...
        JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE); 
        return true;
...
    return false;
}

Gruß
Mag1c
 

Sky

Top Contributor
Anonymous hat gesagt.:
Danke für den Tipp. Das müsste aber (falls es funktioniert) einfacher zu haben sein (Denke ich).
Ansatz ist die int selection. Dort bekomme ich einen Rückgabewert den ich ja dann auswerten kann. Allerdings habe ich da schon wieder ein Problem und zwar, dass egal was ich mache der Rückgabewert immer 0 ist. Kann ich einen Rückgabewert selbst festlegen? Habe in der API geguckt, leider aber nichts bracubares gefunden.
Der Rückgabewert deines Dialoges wird solange immer 0 sein, wie nur ein Button zur Verfügung steht. (siehe API)

0 entspricht JOptionPane.OK_OPTION
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben