finish() in while - Schleife?

  • 9 Antworten
  • Letztes Antwortdatum
D

Diegorn

Ambitioniertes Mitglied
2
Hallo zusammen

Hier erstmal der Code:

Code:
while (Doppelt1[Frage1Zufall] == true){
  Frage1Zufall = ra.nextInt(48) +1;
  trueZähler = 0;

  for (int i=1;i<=48;i++){
    if (Doppelt1[i] == true){
      trueZähler++;}
  }
    					
  if (trueZähler == 48){
    this.finish();}	
}

Das funktioniert auch alles aber wenn trueZähler = 48 ist, dann springt der zu finish() aber führt das nicht aus sondern geht wieder an den Anfang der Schleife. Somit verursacht das eine Endlosschleife. Aber Warum???

Gruß Diegorn
 
finish bricht die while schleife nicht ab

mach ein return oder break danach
 
Sry hatte vergessen das noch dahin zu schreiben ich wollte damit die ganze Activity beenden.
 
Wenn er finish() macht, beendet er doch die Activity. Also beendet doch damit auch die Schleife oder?

Ansonsten halt erst break; und dann finish();

Gruß
 
Ersetze dein this.finish(); einfach mal durch finish(); dann wird die Activity beendet. Solltest du dann eine neue Activity starten wollen mach das über einen intent ;)

Gruß Timo
 
wenn er finish macht, beendet er zwar die activity, aber der die methode wird trotzdem zu ende ausgeführt.

und hier gibts kein ende
 
  • Danke
Reaktionen: StefMa
TI-Lectro das ist quatsch!
this bezieht sich auf die Activity.

Danke swordi!

Gruß
 
Sorry ich beende meine Activities immer so und dachte es sei korrekt. Dann ignoriert meinen ersten Post einfach.

Gruß
 
Hab es jetzt so gemacht erst break und dann finish(). Habe aber noch eine Frage wie kann ich die Methode von neu starten lassen? So geht es nicht:

Code:
  public void Zufall(){
    if (Test == 1){
       finish();}
    else{
      Zufall();}  // <---
  }
 
was genau willst eigentlich erreichen ?
 
Zurück
Oben Unten