Java mit Mathrandom befehl RandomZahl zwischen 0 und 10?

... komplette Frage anzeigen

4 Antworten

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

Antwort bewerten Vielen Dank für Deine Bewertung

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.

Antwort bewerten Vielen Dank für Deine Bewertung

Sinniger ist es die Ramdom Klasse zu benutzen

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

Antwort bewerten Vielen Dank für Deine Bewertung

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 ... :)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Pokecrafter567
26.04.2016, 18:26

Hast du ne Firma? Wenn ja GG

1
Kommentar von janwelter
26.04.2016, 20:16

Jeder hat man klein angefangen :)

1

Was möchtest Du wissen?