Java Math.Random()?

3 Antworten

Du könntest abfragen, ob der generierte Wert gleich 0 ist und solange dies der Fall ist, eine neue Zufallszahl generieren.

Nimm doch eine Schleife zu Hilfe, die so lange eine Zufallszahl generiert, bis diese ungleich 0 ist. Danach gibst du sie aus der Funktion zurück.

na ja, es wäre besser, die Werte nur in einem gewissen Bereich zu bekommen - dann würde der Extra-Aufwand wegfallen

0
@xxxcyberxxx

Wenn das mit dem gewünschten Bereich vereinbar ist, dann ja.

0
@regex9

da schon eine obere Grenze (durch "size") gegeben ist und nun nur die 0 ausgeschlossen werden soll, kann auch durchaus die untere (also 1) festgelegt werden.

1
@xxxcyberxxx

Da size nicht zwingend die obere Grenze darstellen muss, müsste man dann vorher noch ausmachen, ob das Ergebnis schlussendlich (mathematisch) negiert werden muss oder nicht.

0
@regex9

das stimmt, aber dann kann halt die obere Grenze ausgeschlossen werden.

0

wenn du noch die obere und untere Grenze festlegst (als zwei Integer - upper und lower)

zahlen[i] = (int) (Math.random() * (upper - lower)) + lower;

Was möchtest Du wissen?