[Java] Math.random () erklärt


Answers

Wenn Sie eine Zahl von 0 bis 100 generieren möchten, würde Ihr Code wie folgt aussehen:

(int)(Math.random() * 101);

Um eine Zahl von 10 bis 20 zu generieren:

(int)(Math.random() * 11 + 10);

Im allgemeinen Fall:

(int)(Math.random() * ((upperbound - lowerbound) + 1) + lowerbound);

(wobei " lowerbound Inklusiv" und " upperbound exklusiv ist).

Die Aufnahme oder der Ausschluss von Uppderbound hängt von Ihrer Wahl ab. Sagen wir Range = (Uppderbound-lowerbound) +1, dann ist Uppderbound Inclusive. aber wenn der Bereich = (Uppderbound-lowerbound), dann ist der Uppderbound Exclusive. Bsp: Wenn ich die ganze Zahl s / w 3-5 haben möchte, dann, wenn die Entfernung (5-3) +1 ist, dann ist 5 einschließlich, wenn die Entfernung gerade (5-3) ist, dann ist 5 Exklusiv.

Question

Dies ist eine ziemlich einfache Java-Frage (obwohl wahrscheinlich auf alle Programmierungen anwendbar):

Math.random() gibt eine Zahl von Null an Eins zurück.

Wenn ich eine ganze Zahl von null bis hundert zurückgeben möchte, würde ich tun:

(int) Math.floor(Math.random() * 101)

Von eins zu hundert würde ich tun:

(int) Math.ceil(Math.random() * 100)

Aber was, wenn ich es von drei vor fünf machen wollte? Wird es wie folgende Aussage sein:

(int) Math.random() * 5 + 3

Ich weiß über nextInt() in java.lang.util.Random . Aber ich möchte lernen, wie man das mit Math.random() .




Links