Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Warum ist die Ausgabe anders als das was im Bezeichner steht?
Hallo zusammen,
meine Aufgabe war eine Klasse Zufall und eine Klasse Wuerfel zu erstellen. Ich sollte zwei Würfelwürfe simulieren und noch ausgeben ob es ein Pasch ist oder nicht. Das hab ich auch gut hinbekommen, bloß meine frage ist, warum ich den Bezeichner maxAugenzahl(zeile 17 in WuerfelAnders) 6 + 2 definieren muss um eine Zahl zwischen 1 - 6 zu generieren. Ich habe auch schon größere Zahlen genommen und immer ist die größte generierte Zahl um zwei kleiner als der Bezeichner maxAugenzahl.
Danke schon mal im voraus.
Anhänge
Quelltext Wuerfel.png
46,4 KB · Aufrufe: 31
Quellcode Zufallszahl.png
29 KB · Aufrufe: 44
Zuletzt bearbeitet:
Beste Antwort
K
kneitzel
Du solltest da einmal schauen, was Du da rechnest. Das zmin - zmax +1 klingt erst einmal dubios und erklärt wohl die Probleme, die Du hast.
Wenn Du eine Zahl von 1-6 willst, dann musst Du modulo 6 Rechnen um 0-5 zu bekommen und dann 1 addieren.
Die modulo 6 ist (max - min + 1) und nicht (min - max + 1)
Da also immer sehr sorgfältig die Rechnung aufstellen und genau prüfen. Das mit dem max +2 angeben, klappt, denn min - (max + 2) + 1 = min -max -1 und das ist -(max - min + 1).
Und x % y = x % (-y).
Wieso rufst du die Methode "zufallszahl" in "ganzePseudozufallszahl" auf? Das wirkt extrem umständlich und ist für mich schwer nachvollziehbar. Das klingt jetzt total harsch, aber die statische Klassenvariable ist Müll. Du hast Rückgabewerte, nutze diese
Zu anfang hatte ich das auch so, bloß ich wollte die Methode zufallszahl noch für andere Klassen verwenden und wollte keinen wertebereich nur von 1 - 6. Deswegen hab ich ne zweite Methode ganzePseudozufallszahl gemacht um nur ein bestimmten Zahlenbreich zu verwenden.
Du solltest da einmal schauen, was Du da rechnest. Das zmin - zmax +1 klingt erst einmal dubios und erklärt wohl die Probleme, die Du hast.
Wenn Du eine Zahl von 1-6 willst, dann musst Du modulo 6 Rechnen um 0-5 zu bekommen und dann 1 addieren.
Die modulo 6 ist (max - min + 1) und nicht (min - max + 1)
Da also immer sehr sorgfältig die Rechnung aufstellen und genau prüfen. Das mit dem max +2 angeben, klappt, denn min - (max + 2) + 1 = min -max -1 und das ist -(max - min + 1).
Und x % y = x % (-y).
Du solltest da einmal schauen, was Du da rechnest. Das zmin - zmax +1 klingt erst einmal dubios und erklärt wohl die Probleme, die Du hast.
Wenn Du eine Zahl von 1-6 willst, dann musst Du modulo 6 Rechnen um 0-5 zu bekommen und dann 1 addieren.
Die modulo 6 ist (max - min + 1) und nicht (min - max + 1)
Da also immer sehr sorgfältig die Rechnung aufstellen und genau prüfen. Das mit dem max +2 angeben, klappt, denn min - (max + 2) + 1 = min -max -1 und das ist -(max - min + 1).
Und x % y = x % (-y).