# Zufallszahlen in einem gegebenen Bereich erzeugen



## null.plan (12. Mai 2004)

Wie erzeuge ich eine Zufallszahl zwischen 1 und 50 
bzw. ist es möglich die Grenzen der Random-Zahl durch
Variablen zu bestimmen?


----------



## Roar (12. Mai 2004)

ja: RTFM: http://java.sun.com/j2se/1.4.2/docs/api/java/util/Random.html


----------



## Beni (12. Mai 2004)

Eine uniforme Verteilung zwischen _min _und _max_:


```
double min = ...
double max = ...

double value = min + (max - min) * Math.random();
```

mfg Beni


----------



## Roar (12. Mai 2004)

wozu umständlich wenns schon fertige methoden gibt?


----------



## Beni (12. Mai 2004)

Gegenfrage: Wie kannst du denn bei _Random _(*einfacher*) Zahlen zwischen 1 und 50 erzeugen?


----------



## P3AC3MAK3R (12. Mai 2004)

Roar hat gesagt.:
			
		

> wozu umständlich wenns schon fertige methoden gibt?


Vielleicht hättest Du besser selbst das F*cking Manual lesen sollen. :roll:



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



http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Math.html#random()


----------



## Roar (12. Mai 2004)

vielleicht hättest du besser der link anklicken sollen den ich gepostet habe:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Random.html#nextInt(int)


----------



## Beni (12. Mai 2004)

> *Returns*:
> a pseudorandom, uniformly distributed int value between 0 (inclusive) and n (exclusive).



0 != 1

Das wurde sogar mathematisch bewiesen (füllt aber ein ganzes Buch).  :wink:


----------



## Illuvatar (12. Mai 2004)

Tja, dann macht man eben: :meld: 

```
Random.nextInt (50) + 1;
```
  

Da ist Benis Lösung aber nicht mehr viel komplizierter. 

Edit: Meins ist besser 8)


----------



## Roar (12. Mai 2004)

Beni hat gesagt.:
			
		

> > *Returns*:
> > a pseudorandom, uniformly distributed int value between 0 (inclusive) and n (exclusive).
> 
> 
> ...




```
int i = new Random().nextInt(51);
i = i==0 ? 1 : i;
```

edit: nagut, Illuvatars geht auch  :toll:


----------

