# Zufallszahl in einem bestimmten Intervall



## Fragender (28. Nov 2006)

Wie kann ich eine Zufallszahl in einem bestimmten Intervall erzeugen? Ich brauche das für ein Simulationsprogramm. 

meine Methode sieht wie folgt aus: 

private long getNextRandom (long lowerBound, long upperBound)

Wie kann ich das skalieren?


----------



## DocRandom (28. Nov 2006)

Moin!

Liies mal da nach!

mfg
DocRandom


----------



## Gast (28. Nov 2006)

Da fehlt leider ein Code - Beispiel, wie ich das konkret machen kann


----------



## Gelöschtes Mitglied 5909 (28. Nov 2006)

wie wärs du schaust in der api nach, entweder Math.random() oder java.util.Random und verwendest dann bekannte operationen wie +, -, /, *, % ? musst halt ein wenig denken


----------



## DocRandom (28. Nov 2006)

Ajo, wir sollen Dir Deine HA schreiben!
Nö, spielt es nicht!
Dort stehen alle relevanten Informationen und das bisschen Grundwissen, wie diese umzusetzen sind, solltest Du schon haben!

Ansonsten lese Das Buch von Anfang an, dann weißt Du auch wie man es umsetzt!

mfg
DOcRandom


----------



## Guest (28. Nov 2006)

Was für Hausaufgaben? Das sind keine Hausaufgaben.

Ich erzeuge momentan mit nextLong eine Zufallszahl im gesamten Zahlenraum. 

Das Problem ist jetzt, wie ich das in das Intervall von lower/upper hinbekomme. 

Wenn die Zahlen von 0 - 1 wären, ginge es. Aber wie geht das über den gesamten Zalenraum?


----------



## DocRandom (29. Nov 2006)

..so, weil ich wiedermal nen guten Tag hab, hier ein Beispiel:

```
import java.util.*;
public class Zufall {

	Random rnd;
	long lowrange, highrange;
	
	// Konstruktor mit Übergabe des Bereiches
	public Zufall(long lowrange, long highrange){
		this.lowrange = lowrange;
		this.highrange = highrange;
		rnd = new Random(highrange);
	}
	// Gibt die nächste Zufallszahl im Bereich LowRange <-> HighRange aus!
	public long getNextRandom () {
		return lowrange + rnd.nextLong();
	}
}
```

mfg
DocRandom


----------



## Gelöschtes Mitglied 5909 (29. Nov 2006)

> ```
> // Gibt die nächste Zufallszahl im Bereich LowRange <-> HighRange aus!
> public long getNextRandom () {
> return lowrange + rnd.nextLong();
> ...



das stimmt schonmal nich docrandom, und dafür ne eigene klasse?!?


----------



## DocRandom (29. Nov 2006)

..habs ned getestet, sondern nur im Editor runtergeklopt!
Und warum nicht in einer eigenen Klasse?

Streng nach OO sollte man sogar die Generika nur per Klasse ansprechen! 

mfg
DocRandom


----------



## DocRandom (29. Nov 2006)

so, hab kurz mal gegoogelt und das hier gefunden.
Ist auch nur als Beispiel gedacht.

```
/* Erzeugung einer Zufallszahl aus dem Wertebereich {1, ..., n}
 * Autor : Antje Nowack
 * Umgebung : JDK 1.3, Linux
 * Erstellt : 5. 11.2001 
 * Letzte Aenderung: 6. 11. 2001
 */

import java.util.Random;

public class Zufall {

    public static int Zufallszahl (int n){

        int ergebnis;
 
        // Erzeugt eine Zufallszahl 

        Random ZufGen = new Random(); 

        // Projiziert die oben erzeugte Zufallszahl in den 
        // Wertebereich {1, ..., n}
  
        ergebnis=Math.abs(ZufGen.nextInt() % n)+ 1; 
        return ergebnis;
      }
}
```

mfg
DocRandom


----------

