Java mit Mathrandom befehl RandomZahl zwischen 0 und 10?

4 Antworten

Das schöne an deiner Syntax ist doch, dass du nur die 10 durch 9 ersetzen musst. Die 10 steht sozusagen für die Obergrenze, die 1 für die Untergrenze.

Woher ich das weiß:Berufserfahrung – Programmierer

Math.random() ist für dein Vorhaben eine GAAAANZ schlechte Idee!

Guck dir lieber die Random-Klasse an, wie in der Antwort von janwelter beschrieben! So macht man das ordentlich! :)

Wenn du allerdings nur einen Durchlauf hast, ist so eine Quick-and-Dirty Lösung auch OK ... würde ich meinen Angestellten aber ehrlich gesagt nicht verzeihen. Naja, jeder reagiert dabei wohl anders. :)

PS: Falls du nicht verstehst, warum Math.floor(Math.random() * x) ein Nogo ist, lasse mal beide Varianten mit einem Profiler laufen! :)

PPS: Wenn es dir auf Geschwindigkeit ankommt, lohnt sich vielleicht ein Xor-Shift-PRNG. Die Dinger sind wahnsinnig schlank, binnen 5 Minuten implementiert und liefern teilweise statistisch bessere Ergebnisse als ein Mersenne-Twister! Aber ich glaube, das hat jetzt nichts mehr mit deiner Frage zu tun ... :)

Pokecrafter567 
Fragesteller
 26.04.2016, 18:26

Hast du ne Firma? Wenn ja GG

1
Pokecrafter567 
Fragesteller
 26.04.2016, 18:41
@TeeTier

Ich beneide dich... Jetzt ohne nach konkreten Zahlen zu fragen, verdienst du viel?

1
Pokecrafter567 
Fragesteller
 26.04.2016, 19:03
@TeeTier

Wie ich dich beneide, deine Situation ist mein Traum... aber ich hab erst mit 16 angefangen zu programmieren und kann deshalb nie was reißen :(

0
TeeTier  26.04.2016, 19:08
@Pokecrafter567

Es ist noch kein Meister vom Himmel gefallen! Gib dir einfach immer schön Mühe und lerne ordentlich. Dann wirst du ganz automatisch besser. Und hab mehr Selbstvertrauen!!! :)

0

Um Zahlen aus dem Intervall [1; 9] zu generieren reicht folgender Befehl:

Math.floor(Math.random()*9)+1)

Du generierst eine "Zufallszahl" zwischen 0 und 1, multiplizierst diese mit 9 (es entstehen Zahlen zwischen 0 und 8), und addierst 1.

Ich hoffe, ich konnte dir helfen; wenn du noch Fragen hast, kommentiere einfach.

LG Willibergi

Woher ich das weiß:Berufserfahrung – Software-Entwicklung

Sinniger ist es die Ramdom Klasse zu benutzen

Random r = new Random();
Int a = r.nextInt(10);