# Zufallszahl zwischen 2 und n



## Guest (1. Dez 2005)

Hallo,

ich brauche eine Integer Zufallszahl zwischen "2" und "n".

wenn als n = 5 dann müssen folgende Zahlen kommen 2,3,4,5 wenn n= 8 dann 2,3,4,5,6,7,8 also der Grenzwert muss ebenfalls enthalten sein.

Wie lässte sich das am besten realsieren? Was ist der Unterschied zwischen der normalen Random und der Math Random Funktion?

Danke für eure hilfe

Gruß tobi


----------



## The_S (1. Dez 2005)

Wenn du alle Zahlen zwischen 2 und n ausgeben willst, dann brauchst du keine Zufallszahl. Oder war das gerade nur ein Beispiel in welchem Zahlenbereich die Zufallszahl liegen soll???

[edit] oder soll n deine Zufallszahl sein?


----------



## Sky (1. Dez 2005)

Math#random gibt nichts anderes als Random#nextDouble() zurück.


----------



## na-oma (1. Dez 2005)

Math.random() gibt ne Zahl im Intervall [0, 1[ zurück, wenn ich mich recht entsinne.
ne andere random funktion kenn ich nicht.
du solltest sowas eigentlich relativ leicht bauen können.


----------



## Sky (1. Dez 2005)

sieht ungefähr so aus:
	
	
	
	





```
myRandom.nextInt( bis + 1 - von ) + von;
```


----------



## Guest (1. Dez 2005)

ich brauche eine Integer Zufallszahl zwischen "2" und "n". wer kann mir den code geben?


----------



## Zubi81 (1. Dez 2005)

Ich kenne keine Methode der Klasse Random, mit der man diese Funktionalität hat. 

Ganz pragmatisch 


```
int a = 2, n = 5;
Random ran = new Random();
      
int res = 0;
while (res < a) {
  res = ran.nextInt(n+1);
}
```

Sky's Methode funktioniert übrigens auch wunderbar!


> ```
> res = ran.nextInt(n + 1 - a) + a;
> ```


----------



## Bleiglanz (1. Dez 2005)

2 + ran.nextInt(n-2)


----------



## Gast (1. Dez 2005)

danke


----------



## Sky (1. Dez 2005)

Bleiglanz hat gesagt.:
			
		

> 2 + ran.nextInt(n-2)



Zu n muss noch 1 addiert werden, da 'n' auch in den Wertebereich eingeschlossen sein soll: 





			
				nextInt hat gesagt.:
			
		

> ...between 0 (inclusive) and the specified value *(exclusive)*...


----------



## Bleiglanz (2. Dez 2005)

jo, stimmt, wenn man zahlen mit 2<= x <= n haben will, muss es

2 + ran.nextInt(n-1)

heissen


----------

