Erste Schritte einarmigerBandit

java-starter

Mitglied
Hallo Java Freunde,
ich habe mal wieder eine Frage.
Ich bin gerade dabei einen einarmigen Banditen zu simulieren. Ohne Random der einzelnen For Schleifen klappt das schon, sieht jedoch doof aus.
Ich habe versucht den Zufallsgenerator einzubauen, aber nun klappt gar nichts mehr. Kann mir jemand ggf. sagen was ich falsch gemacht habe? Ich stehe da echt auf dem Schlauch..
Ich danke euch schon mal für Antworten:)
Java:
import static java.lang.System.out;

import java.util.Random;

public class verschachtelteSchleifen {

    enum Symbol {
        Kirsche, Erdbeere, Zitrone
    }

    public static void main(String[] args) {
        
        Random symbol=new Random();
        
        symbol=Symbol;

        for (Symbol scheibeLinks : Symbol.values(symbol)) {
            for (Symbol scheibeMitte : Symbol.values(symbol)) {
                for (Symbol scheibeRechts : Symbol.values(symbol)) {
                    out.print(scheibeLinks);
                    out.print("  ");
                    out.print(scheibeMitte);
                    out.print("  ");
                    out.println(scheibeRechts);

                }
            }

        }

    }

}
 

java-starter

Mitglied
Hallo Java Freunde,
ich habe mal wieder eine Frage.
Ich bin gerade dabei einen einarmigen Banditen zu simulieren. Ohne Random der einzelnen For Schleifen klappt das schon, sieht jedoch doof aus.
Ich habe versucht den Zufallsgenerator einzubauen, aber nun klappt gar nichts mehr. Kann mir jemand ggf. sagen was ich falsch gemacht habe? Ich stehe da echt auf dem Schlauch..
Mein Versuch auch so zu deklarieren war nicht korrekt:
Random symbolScheibeLinks=new Random();
Random symbolScheibeMitte=new Random();
Random symbolScheibeRechts=new Random();

Symbol = symbolScheibeLinks;
Symbol = symbolScheibeMitte;
Symbol = symbolScheibeRechts;


Ich danke euch schon mal für Antworten:)
Java:
import static java.lang.System.out;

import java.util.Random;

public class verschachtelteSchleifen {

    enum Symbol {
        Kirsche, Erdbeere, Zitrone
    }

    public static void main(String[] args) {
       
        Random symbol=new Random();
       
        symbol=Symbol;

        for (Symbol scheibeLinks : Symbol.values(symbol)) {
            for (Symbol scheibeMitte : Symbol.values(symbol)) {
                for (Symbol scheibeRechts : Symbol.values(symbol)) {
                    out.print(scheibeLinks);
                    out.print("  ");
                    out.print(scheibeMitte);
                    out.print("  ");
                    out.println(scheibeRechts);

                }
            }

        }

    }

}
 

mihe7

Top Contributor
Random ist die Klasse, mit der sich Zufallsgeneratoren erzeugen lassen. In Zeile 13 erzeugst Du eben einen solchen Zufallsgenerator und speicherst die Referenz darauf in der Variablen symbol ab. Der Name ist schon irreführend.

Symbol ist ein Aufzählungstyp.

In Zeile 15 versuchst Du nun, der Variablen symbol (die vom Typ Random ist) den Aufzählungstyp Symbol zuzuweisen. Das funktioniert natürlich nicht und gäbe auch gar keinen Sinn.

Der Zufallsgenerator kann Dir Zufallszahlen liefern, zum Beispiel liefert die Methode nextInt(n) eine Zufallszahl zwischen 0 und n (exkl.)

Symbol.values() liefert ein Array mit den Werten der Aufzählung Symbol. Das ist nicht schlecht, denn ein Array verfügt über eine Eigenschaft length, die die Größe des Arrays und damit die Anzahl der Werte in der Aufzählung liefert.

Das kann man nun kombinieren:
Java:
Random zufall = new Random();
Symbol[] symbols = Symbol.values();
int zufaelligerIndexEinesSymbols = zufall.nextInt(symbols.length);
Symbol zufaelligesSymbol = symbols[zufaelligerIndexEinesSymbols];
System.out.println(zufaelligesSymbol);
 

java-starter

Mitglied
ah okay, na das ist doch mal wieder "Zauberei" vom feinsten :)

Dann will ich das mal nachzuvollziehen.
Ich danke dir für die nützlichen Hinweise und baue mal an den richtigen Stellen um...

Vielen Dank auch hier, für die Hilfestellung incl. Erklärung


Gruß
 

mihe7

Top Contributor
ah okay, na das ist doch mal wieder "Zauberei" vom feinsten
Das ist gerade keine Zauberei :)

Du hast eine Liste mit sagen wir mal sechs Symbolen und einen Würfel. Um nun zufällig ein Symbol auszuwählen, würfelst Du. Zeigt der Würfel die 3, nimmst Du das dritte Symbol, zeigt er die 1 das erste.

Nichts anderes passiert da oben: Zeile 1 erzeugt den Würfel. Zeile 2 die Liste. In Zeile 3 wird gewürfelt und in Zeile 4 das betreffende Symbol ausgewählt.
 

java-starter

Mitglied
ja, ihr habt ja Recht. Zauberei ist etwas anderes...

Prinzessin Lillifee beschäftigt sich sicher auch nicht mit Java... ( warum eigentich nicht ?..)
😂
 

Neue Themen


Oben