Wie kann ich in einer Java while-Schleife Zufallszahlen generieren?

5 Antworten

Du musst dein Code wie folgt ändern:

import java.util.Random;

public class Main {

 public static void main(String[] args) {

    Random rn = new Random();

   while (zahl < 10) {
      int zahl = rn.nextInt(10);

      if (zahl != 7){

      System.out.print(zahl);

   } else if (zahl == 7) {

    System.out.print(zahl); 

    break;

   }

}

}

}

Das einzige was ich gemacht ist das int zahl = rn.nextInt(10); in die Schleife zu machen.

Woher ich das weiß:eigene Erfahrung – Beschäftige mich in meiner Freizeit um das Thema PC usw.

MrAmazing2  10.08.2020, 11:35

Haha selber Fehler wie ich :D

Du darfst die Zahl hier nich in der Schleife deklarieren. ^^

0
ShaXoW  10.08.2020, 00:14

Um das Programm zu stoppen kannst du das einfach nutzen:

System.stop(0);
1

Du erzeugst die Zufallszahl vor der while-Schleife und gibst diese danach mehrfach aus. Es ist aber immer die gleiche, weil du sie ja nur einmal erzeugst und die Variable 'zahl' nur einmal zu Beginn ihren Wert ändert.

Erzeuge die Zufallszahlen also in der while-Schleife.

Woher ich das weiß:Studium / Ausbildung

Du musst die Zahl Logischerweise in der while Schleife generieren.

Du generierst sie ja nur einmal.

Aufgrund der Logik reicht ein einfaches while (zahl != 7) und du kannst dir das if-else sparen. Die anderen scheinen außerdem zu vergessen, dass du zahl schon vor der Schleife deklarieren musst.

Woher ich das weiß:Hobby – Ich programmiere in meiner Freizeit mit Java.

TechnikSpezi  10.08.2020, 13:42
Die anderen scheinen außerdem zu vergessen, dass du zahl schon vor der Schleife deklarieren musst.

Ich denke das vergisst hier keiner, aber auch ich habe es einfach nicht genauer erklärt, weil das der Fragesteller selbst hinbekommen sollte.

0

Pack das

int zahl = rn.nextInt(10);

in die while-Schleife.

Woher ich das weiß:Studium / Ausbildung – Bachelor in Informatik 👨🏻‍🎓

MrAmazing2  10.08.2020, 11:34

Upsi. Mach die Deklarierung ausserhalb der Schleife:

int zahl;  

Und dann innen die Zuweisung:

zahl = rn.nextInt(10);
0