# [Java] Zufallszahl als ganze Zahl



## kOPFGELDJAEGER (3. Feb 2006)

Hallo...ich fang gerade damit an, Java zu lernen

Werde hier bestimmt noch nen paar Fragen stellen...

Hab so nen Einführungskurs für Java bekommen...der is ganz gut

Aber hier meine Frage: wie krieg ich ne ganze Zufallszahl zwischen 1 und 5 (=1,2,3,4 oder 5)??

Und als Format int

Wie ich ne Zufallszahl mit Dezimalstellen mach, weiß ich..

```
public class zufallszahl
{
public static void main(String[] args)
{
double zufall;
zufall = 1+4*Math.random();
System.out.println("Die Zufallszahl ist: " + zufall);
}
}
```
Danke für die Hilfe

lg


----------



## Tobias (4. Feb 2006)

```
public class zufallszahl
{
public static void main(String[] args)
{
int zufall;
zufall = (int) (1+4*Math.random());
System.out.println("Die Zufallszahl ist: " + zufall);
}
}
```

mpG
Tobias


----------



## 0xdeadbeef (4. Feb 2006)

IMHO wird das nicht tun, weil random() laut API immer eine Zahl >= 0 aber < 1 zurückliefert. Es wird also niemals eine 1.0 zurückgegeben, also kann der Integerausdruck niemals 5 werden.

Kann man aber leicht umgehen, indem man korrekt rundet:

zufall = 1+(int)(4.0*Math.random()+0.5);

Man könnte natürlich auch Math.round() nehmen, das macht das gleiche...


----------



## Schumi (4. Feb 2006)

Man kann es sich auch noch einfacher machen, in dem man nextInt nimmt aus der Randomklasse nimmt:



> nextInt(int n)
> Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.



also 
	
	
	
	





```
Random r = new Random();
zufall = 1 + r.nextInt(5);
```


----------



## Ark (4. Feb 2006)

Warum einfach, wenn's auch kompliziert geht?! Hora:

```
int zufall = (int) (5*Math.random())+1;
```
MfG
Ark


----------



## Petrus88 (4. Feb 2006)

@Kopfgeldjäger Was fürn einführungskurs hasten du


----------

