while-Schleife wird zuoft durchgeführt

CodeIsland

Mitglied
Hallo! Ich sitze schon seit Stunden an folgendem Code und komme nicht drauf was genau das Problem ist - die Schleife bricht einfach nicht ab, wenn die 4 erreicht ist, wie sie eigentlich soll. Vielleicht kann jemand helfen? Das wäre grandios.
Java:
public void levelUp(){
   int zaehler = 0;
   Random randomGenerator = new Random();
   int A = 0;
   int B = 0;
   int C = 0;
   int D = 0;

   while(zaehler <= 4){
     int randomInt1 = randomGenerator.nextInt(3);
     A += randomInt1;
     zaehler = zaehler + randomInt1;

     System.out.println("randomInt1 = " + randomInt1);
     System.out.println("A = " + A);
     System.out.println("Zaehler = " + zaehler);

     int randomInt2 = randomGenerator.nextInt(3);
     B += randomInt2;
     zaehler = zaehler + randomInt2;

     System.out.println("randomInt2 = " + randomInt2);
     System.out.println("B = " + B);
     System.out.println("Zaehler = " + zaehler);

     int randomInt3 = randomGenerator.nextInt(3);
     C += randomInt3;
     zaehler = zaehler + randomInt3;

     System.out.println("randomInt3 = " + randomInt3);
     System.out.println("C = " + C);
     System.out.println("Zaehler =" + zaehler);

     int randomInt4 = randomGenerator.nextInt(3);
     D += randomInt4;
     zaehler = zaehler + randomInt4;

     System.out.println("randomInt4 = " + randomInt4);
     System.out.println("D = " + D);
     System.out.println("Zaehler = " + zaehler);
   }  
} 

public static void main (String [] args){
   TestRandom test = new TestRandom();
   test.levelUp();
}

Eine Beispielausgabe:

randomInt1 = 1
A = 1
Zaehler = 1

randomInt2 = 1
B = 1
Zaehler = 2

randomInt3 = 0
C = 0
Zaehler =2

randomInt4 = 2
D = 2
Zaehler = 4

randomInt1 = 0
A = 1
Zaehler = 4

randomInt2 = 2
B = 3
Zaehler = 6

randomInt3 = 1
C = 1
Zaehler =7

randomInt4 = 0
D = 2
Zaehler = 7
 
Zuletzt bearbeitet von einem Moderator:
1. Variablen schreibt man klein
Lagere deine Augabe in eine Methode ausgabe aus mit den Parameter ( String textOderVariable, int variable)
oder noch mehr auslagern
ausgabe( String random, int randomNR, String c, int cVal, String z, int zVal){
//hier die ausgabe rein;
//ein Aufruf, macht den code schön übersichtlich
}
Java:
int randomInt = randomGenerator.nextInt( 3);
a += randomInt;
zaehler +=randomInt;
  ausgabe( "randomInt1", randomInt);
  ausgabe( "A", a);
  ausgabe( "Zähler", zaehler);
randomInt =randomGenerator.nextInt( 3);
b +=randomInt;
zaehler +=randomInt;
  ausgabe( "randomInt2", randomInt);
  ausgabe( "B", b);
  ausgabe( "Zähler", zaehler);
...
 
Weil du prüfst ob die Variable "zaehler" <= 4 ist.
Daher geht sie die Schleife nochmals durch wenn zaehler=4 ist 😉

Beim nächsten Mal bitte den Code etwas formatieren (unnötige Leerzeilen raus, sonst muss man unnötig scrollen), danke! 🙂
 

Neue Themen


Zurück
Oben