hi!
int y= 10 + (int)(Math.random()* 11); erzeugt Ganzahlen zwischen 10-20,
wo seh ich das?
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.
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).Java-API hat gesagt.:Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0.
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![]()
War meine Erklärung denn auch gut verständlich oder gibt's was zu verbessern? :joke: