math.random()

F

Firephoenix

Gast
hi!

int y= 10 + (int)(Math.random()* 11); erzeugt Ganzahlen zwischen 10-20,
wo seh ich das?

Hi,
schau bei solchen Sachen am besten die einzelnen Elemente an.
Dabei hilft die API: Java Platform SE 6

Hier erstmal der passende Auszug zu der Methode aus der Math-Klasse:
random

public static double random()

Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0.

Wir bekommen also erstmal einen Wert zwischen 0.0(inklusive) und 1.0(exklusive).
Als Beispiel für einen hohen z.b. 0.9989605167260749
und als Beispiel für einen Tiefen eben 0.0
Die beiden mal 11 und du hättest
10.9885657
bzw 0
Durch den cast nach (int) wird der Nachkommateil abgeschnitten und du erhälst Zahlen zwischen 0 und 10.
Und wenn du da noch 10 draufrechnest (was davor gemacht wird) hast du ganze Zahlen zwischen 10 und 20 ;)
q. e. d.
Gruß

//E: wow als ich angefangen hab zu schreiben stand da noch kein einziger Beitrag :D
 

Haave

Top Contributor
Java-API hat gesagt.:
Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0.
Das bedeutet, wenn du einfach nur mit Math.random() allein eine Zahl erzeugen lässt, wird sie zwischen 0.0 (inclusive) und 1.0 (exclusive) liegen. Sie kann also also alles dazwischen sein, das wichtige ist aber, dass die obere Grenze nicht erreicht wird (die Zahl kann nicht 1.0 werden).
Wenn du nun Math.random() * 10 rechnest, erhältst du Zahlen im Bereich 0.0 und 10.0, wobei wiederum 10 nicht erreicht wird. Darum addiert oder subtrahiert man noch eine Zahl, um den Bereich zu verschieben.

Auf dein Beispiel bezogen funktioniert es also so:

1.) Math.random() * 11 => Bereich zwischen 0 und 11 (erreicht werden alle Zahlen zwischen 0.0 inclusive und 11.0 exclusive, also auch 10.0, 10.6 etc.).
2.) + 10 => verschiebt den Bereich nach oben, so dass er zwischen 10 inclusiv und 21 exclusiv liegt. Die von dir geschriebene Angabe "erzeugt Ganzahlen zwischen 10-20" meint dabei die inclusiven Werte, d.h., 20 liegt innerhalb des Bereichs.
 

chho0013

Mitglied
Hi,
schau bei solchen Sachen am besten die einzelnen Elemente an.
Dabei hilft die API: Java Platform SE 6

Hier erstmal der passende Auszug zu der Methode aus der Math-Klasse:


Wir bekommen also erstmal einen Wert zwischen 0.0(inklusive) und 1.0(exklusive).
Als Beispiel für einen hohen z.b. 0.9989605167260749
und als Beispiel für einen Tiefen eben 0.0
Die beiden mal 11 und du hättest
10.9885657
bzw 0
Durch den cast nach (int) wird der Nachkommateil abgeschnitten und du erhälst Zahlen zwischen 0 und 10.
Und wenn du da noch 10 draufrechnest (was davor gemacht wird) hast du ganze Zahlen zwischen 10 und 20 ;)
q. e. d.
Gruß

//E: wow als ich angefangen hab zu schreiben stand da noch kein einziger Beitrag :D

vielen dank, super erklärt!!!!
 

Landei

Top Contributor
Es sei noch angemerkt, dass sich bei ganzzahligen Aufgabenstellungen [c]java.util.Random.nextInt[/c] anbietet.
 

Marco13

Top Contributor
Da speziell, aber nicht nur da: Auch bei Doubles sollte man IMHO nicht Math.random, sondern Random#nextDouble verwenden: Nur damit kann man die Folge der Zahlen reproduzierbar machen (für Debugging).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Math.Random Java Basics - Anfänger-Themen 9
W Bestimmte Zahlen bei Math.random ausschließen? Java Basics - Anfänger-Themen 31
S Math.random funktioniert nicht Java Basics - Anfänger-Themen 5
alialhajhossein math.random Java Basics - Anfänger-Themen 3
D Wahrscheinlichkeiten mit Math.random() Methode Java Basics - Anfänger-Themen 1
A Random Double mit Math.round() runden? Java Basics - Anfänger-Themen 1
B Math.random mit Boolean array? Java Basics - Anfänger-Themen 17
I math.random Grenzwerte Java Basics - Anfänger-Themen 2
E Methoden Math.Random() kürzen ? Java Basics - Anfänger-Themen 2
J Klassen Math && Random: wie zufällig sind Zufallszahlen? Java Basics - Anfänger-Themen 19
J Methoden Math.random unklar Java Basics - Anfänger-Themen 4
Thorwine Erste Schritte Wuerfelspiel mit Math.random() Java Basics - Anfänger-Themen 10
S Math.random() Zufall ? Java Basics - Anfänger-Themen 2
H Ist Math.Random() eine Methode oder ein Methodenaufruf (Klausurfrage) Java Basics - Anfänger-Themen 4
X Problem mit Math.random() Java Basics - Anfänger-Themen 2
T Random vs. Math.random() Java Basics - Anfänger-Themen 2
B Verstehe ZufallInt = (int) (Math.random() * 5 + 1); nicht Java Basics - Anfänger-Themen 9
T Zufallserzeugung mit math.random und speichern in array Java Basics - Anfänger-Themen 29
J Woher kommt das Objekt "Math" bei Math.random(); ? Java Basics - Anfänger-Themen 3
P Typecasting für Ganzzahlige Zufallszahl (Math.random) Java Basics - Anfänger-Themen 2
J Bedeutung von math.random() math.round() Java Basics - Anfänger-Themen 7
F Problem Math.random in for-Schleife Java Basics - Anfänger-Themen 8
R (Math.random()*49) zahl darf aber nur einmal gezogen werden Java Basics - Anfänger-Themen 11
R math.random wertebereich 16-21 Java Basics - Anfänger-Themen 3
B Math.random und Strings Java Basics - Anfänger-Themen 13
Luk10 math.random() Java Basics - Anfänger-Themen 2
J Math.random() - kurze frage. Java Basics - Anfänger-Themen 20
J Math.random Java Basics - Anfänger-Themen 12
T Math.random() Zahlen von 25 - 50. Wie? Java Basics - Anfänger-Themen 7
H Brauche ganz dringend HILFEEE! Math random Java Basics - Anfänger-Themen 19
T Math.Random negativer Intervall Java Basics - Anfänger-Themen 2
B Zahlenwiederholung bei Math.random verhindern Java Basics - Anfänger-Themen 4
J Zufallszahl ohne Math.random Java Basics - Anfänger-Themen 4
A Probleme mit Math.random Java Basics - Anfänger-Themen 4
P 2n Potenzieren ohne Math.pow oder pow Java Basics - Anfänger-Themen 8
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
sserio Math. Befehl wird rot markiert Java Basics - Anfänger-Themen 5
L Math.exp also eigenen Algorithmus Java Basics - Anfänger-Themen 2
V Erste Schritte Berechnen von Sinus; sin(x) ohne Math.* Java Basics - Anfänger-Themen 1
B Potenzrechnung mit WindowBuilder ohne math.pow() Java Basics - Anfänger-Themen 1
B Potenzen ohne Math.pow Java Basics - Anfänger-Themen 4
N Datentypen Math.floor rundet nicht ab Java Basics - Anfänger-Themen 4
S Math.ceil für float Java Basics - Anfänger-Themen 1
M Warum ist dieses Feld der Klasse Math immutable? Java Basics - Anfänger-Themen 7
S math Methoden in Java (quadrat) Java Basics - Anfänger-Themen 7
C Erste Schritte Math.sin und Co. funktionieren nicht Java Basics - Anfänger-Themen 5
A Potenzen ohne math.pow Java Basics - Anfänger-Themen 1
L Klassen Point- und Math-Klasse Java Basics - Anfänger-Themen 3
J Musterlösung Verständnis Frage zu Math.abs() Java Basics - Anfänger-Themen 5
J java.lang.math asin() Java Basics - Anfänger-Themen 18
L Math.floor und double Array Java Basics - Anfänger-Themen 13
B Math.acos() Java Basics - Anfänger-Themen 4
N Methoden Probleme mit Math.cos Java Basics - Anfänger-Themen 3
J Methoden Rekursive Potenz ohne Math.Pow() Java Basics - Anfänger-Themen 9
Luk10 3. Wurzel mit Math.pow(x, (1/3)) Java Basics - Anfänger-Themen 2
J Datentypen Math.sqrt() immer NaN Java Basics - Anfänger-Themen 8
T Ungenaue Werte bei Math.atan Java Basics - Anfänger-Themen 10
M Math.round Java Basics - Anfänger-Themen 32
M Math Class Java Basics - Anfänger-Themen 2
B Math.abs Java Basics - Anfänger-Themen 4
Haave Postfix-Rechner: mehrere math. Operationen nacheinander ausführen Java Basics - Anfänger-Themen 8
T Math.signum Java Basics - Anfänger-Themen 2
N Math + Variablen + Ausgabe Java Basics - Anfänger-Themen 2
B math. Operationen + Ausgabe Fehler :S Java Basics - Anfänger-Themen 5
C math.pow funktionert nicht richtig oder garnicht Java Basics - Anfänger-Themen 4
G Quelltext von Methoden in der Klasse Math Java Basics - Anfänger-Themen 11
D runden ohne math! (zur not auch mit) Java Basics - Anfänger-Themen 9
G Klasse Math Java Basics - Anfänger-Themen 2
T Math.tan() Problem Java Basics - Anfänger-Themen 2
M Math.sin in Radiant in Java? Java Basics - Anfänger-Themen 5
C Math-Funktion Java Basics - Anfänger-Themen 10
S Math.tan Problem rechnet falsches Ergebniss aus. Java Basics - Anfänger-Themen 3
F Math.abs() Java Basics - Anfänger-Themen 3
M Probleme mit Math.round() Java Basics - Anfänger-Themen 5
P Math.abs, praktische Anwendung? Java Basics - Anfänger-Themen 4
M Eclipse: Fehler bei: import java.lang.math Java Basics - Anfänger-Themen 7
D math und abs() Java Basics - Anfänger-Themen 14
E Problem mit Methode Math.max Java Basics - Anfänger-Themen 2
G Math.cos Java Basics - Anfänger-Themen 4
S Math-Befehl für Quadrieren! Java Basics - Anfänger-Themen 6
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
laxla123 Bedeutung int random Java Basics - Anfänger-Themen 3
monsterherz Arbeiten mit Random Java Basics - Anfänger-Themen 12
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
K Problem mit "Random" Java Basics - Anfänger-Themen 5
W n verschiedene Arrays zufällig ausgeben - mit der Random-Klasse? Java Basics - Anfänger-Themen 8
S Random(x,y,z) Java Basics - Anfänger-Themen 4
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
L Zufälliges Objekt aus der ArraylList ohne java.util.Random Java Basics - Anfänger-Themen 56
W Random Zahl unter Berücksichtung eines Durchschnitts Java Basics - Anfänger-Themen 7
T Random soll Zufallszahl beibehalten. Java Basics - Anfänger-Themen 11
C Arraywerte random vertauschen Java Basics - Anfänger-Themen 2
SchmidiMC Methoden Random in Methode neu generieren lassen Java Basics - Anfänger-Themen 1
J Operatoren Random wird nur einmal erstellt und dann immer verwendet Java Basics - Anfänger-Themen 2
D Erste Schritte Random erzeugen Java Basics - Anfänger-Themen 28
D Erste Schritte Random Java Basics - Anfänger-Themen 79
Z Problem mit "Random" in Java Java Basics - Anfänger-Themen 12
Z Array-Index einmalig je mit Random füllen Java Basics - Anfänger-Themen 7
J Wie lege ich eine durch Random ausgesuchte Zahl in ein Array? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben