Java mit Mathrandom befehl RandomZahl zwischen 0 und 10?
Wie ist der command mit "Math.random", der eine der zahlen 1 2 3 4 5 6 7 8 9 macht.
double b= Math.random(); b = b*10+1; int c = (int) b;
Wie geht der Command, der nur Zahlen von 1 bis 9 (einschließlich 1 und 9, aber ohne 0 und 10, etc) generiert
Bitte schnell antworten, ist wichtig!
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.
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 ... :)
Ich beneide dich... Jetzt ohne nach konkreten Zahlen zu fragen, verdienst du viel?
Ohne konkrete Zahlen zu nennen: Ich kann davon leben. :)
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 :(
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!!! :)
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
Sinniger ist es die Ramdom Klasse zu benutzen
Random r = new Random();
Int a = r.nextInt(10);
Hast du ne Firma? Wenn ja GG