Typecasting für Ganzzahlige Zufallszahl (Math.random)

Hallo Leute,

habe kurz eine Frage zum Thema "Typecasting":

Ziel ist es eine Ganzzahlige Zufallszahl (Integer, also ohne kommastellen) zu erzeugen.

Versuch 1:

static void zahl1(){

double min = 0;
double max = 10;

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

jLabel1.setText(Double.toString(value));

}

==> Dieser Versuch hat leider nicht geklappt, da die zahl zwar gerundet worden ist aber immer noch als Double angezeigt wird (Bsp.: 4.0). Die Frage ist Warum das der Fal ist, wenn vor der math Funktion schon in Integer umgewandelt habe?

Nach längerem ausprobieren: Versuch 2:

static void zahl1(){

double min = 0;
double max = 10;

double value = Math.round((min + (max - min) * Math.random()));
int valueInt = (int) value;
jLabel1.setText(Integer.toString(valueInt));

}

==> Hat geklappt! Scheint mir aber Irgendwie umständlich da noch eine Variablle (valueInt) mit rein zu
nehmen.

Jetzt die Frage, ob es so OK ist oder ob es eine sauberere/elegantere Methode gibt?


Vielen Dank schon im vorraus.


Hernando
 
du must ja nicht extra in einen double speichern:

Java:
int value = (int)Math.round((min + (max - min) * Math.random()));
jLabel1.setText(Integer.toString(value ));
 

Neue Themen


Zurück
Oben