Würfeln in java?

5 Antworten

Ich hab die variable mit Math random 1-6 deklariert und schon die If Befehle gemacht die ausgeben wie oft eine Zahl vorkommt, aber meine while Schleife geht nicht, wie muss ich die schreiben damit sie 1000 Mal verschiedene zahlen Würfelt?

erstell dir doch einfach ein Array mit der Länge 6 und inkrementiere das entsprechende Feld jedes mal in der Schleife, wenn die Zahl durch random generiert wird

Bedenke jedoch, dass der Index bei 0 anfängt - jede 1 inkrementiert Feld 0, jede 2 Feld 1 usw ...

aber meine while Schleife geht nicht, wie muss ich die schreiben damit sie 1000 Mal verschiedene zahlen Würfelt?

woher sollen WIR wissen, wie deine Schleife aussieht? Kopier uns doch mal den Code

  1. Benutze lieber java.util.Random.
  2. Benutze eine For- statt einer While-Schleife.
  3. Verwende switch statt ifs, oder mache einfach ein Array mit der Länge 6, das den Wert in ergebnis-1 um 1 inkrementiert.

Wie eine For-Schleife funktioniert:

for (int i = 0; i < 1000; i++) {...}

Wir definieren die Variable i vom Typen int, und setzen sie auf 0. Dann durchlaufen wir die Schleife, inkrementieren am Ende i um 1, und prüfen dann, ob i noch kleiner als 1000 ist. Wenn Ja, wiederholen wir.

Alternativ, für eine While-Schleife, einfach i vor der Schleife definieren, in der Bedingung schauen, ob i < 1000, und am Ende des Schleifenkörpers i inkrementieren.

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

Random die Zahl ermittelt und durch eine Schleife laufen lassen und das Ergebnis in den entsprechenden Variablen hochzählen ....

int i = 0;

while (i < 1000) {

++i;

}

Verwende doch einen For-Loop:

for(int i=0;i<1000;++i){
    //Do stuff
}
RakonDark  17.10.2020, 14:51

er soll ein PROGRAMM mit WHILE schreiben , er MUSS

0
Destranix  17.10.2020, 14:52
@RakonDark

Ja toll, das macht es auch nicht viel schwerer:

int i=0;
while(i<1000){
    //Do stuff
    ++i;
}
0
David560 
Fragesteller
 17.10.2020, 15:16
@Destranix

Das Problem ist, das genau das bei mir nicht geht 😅, es spuckt mir immer die gleichen zahlen raus, immer nur 3er, 6er und so, niemals gemischt

0
Destranix  17.10.2020, 15:17
@David560

Dann verwendest du womöglich den Zufallsgenerator falsch oder machst beim Auswerten der Werte einen fehler.

0
Destranix  17.10.2020, 15:31
@David560

Nicht optimal.

Besser wäre Random::nextInt(int bound);

Das nur 3er und 6er kommen, sollte aber auch mit deiner Lösung nicht passieren.

0