# 4-stellige Zufallszahl



## spanky (8. Okt 2006)

Hallo,

leider verzweifle ich daran eine eine 4-stellige Zufallszahl zu erstellen, bei der jede dieser vier Ziffern ungleich 0 sein muss.

Kann mir bitte jemand weiterhelfen? :?


----------



## dieta (8. Okt 2006)

Mal eine Idee: du erstellst erst mal vier Zufallszahlen von 1 bis 9, die du dann folgendermaßen addierst:


> d*1000+c*100+b*10+a


----------



## derletztekick (9. Okt 2006)

Hallo,

wenn ich mich nun nicht total irre, sollte es so gehen:


```
public class zufallsZahl {
  public static int rand(int min, int max){
    return (int)Math.floor(Math.random()*(max-min))+min;
  }

  public static void main(String[] args) {
    for (int i=0; i<250; i++){
      int z = rand(1000, 10000);
      System.out.println( z );
    }
  }
}
```

Math.random() liefert Dir eine Zufallszahl zwischen 0 und 1 (als double). Du suchst eine Ziffer, die zwischen 1000 und 10000 liegt. Zunächst musst Du Deine Schranken reduzieren auf min = 0. Dadurch verschiebt sich Dein Bereich auf 0 bis 9000. Multiplizierst Du nun den Zufallswert mit dem reduzierten Maximum, rundest es und addierst die untere Grenze hinzu, so erhälst Du eine Zahl zwischen Deinen Grenzen. 

LG Micha


----------



## dieta (9. Okt 2006)

Wenn ich seine Beschreibung richtig verstehe, darf ja keine der 4 Ziffern 0 sein.
Mein Beispiel noch mal als Java-Code:

```
public int zufallsZahl()
{
    return (Math.random() * 9 + 1)*1000+(Math.random() * 9 + 1)*100+(Math.random() * 9 + 1)*10+(Math.random() * 9 + 1);
}
```


----------



## derletztekick (9. Okt 2006)

Hi,

oh, das habe ich überlesen 

LG Micha


----------

