Signification de ces 3 lignes en java

pierre -  
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Est-ce que quelqu'un peut me dire ce que signifie ces 3 lignes de java, surtout la derniere.
Merci beaucoup.

int borneMinimum = 0;
int borneMaximum = 30000;
int nombre = (int)(Math.random() * (borneMaximum - borneMinimum)) + borneMinimum ;

A voir également:

2 réponses

Xavierdu34 Messages postés 216 Date d'inscription   Statut Membre Dernière intervention   21
 
Je suis pas du tout un expert en java mais je dirais :

int borneMinimum = 0; // Affecte 0 à la variable de type Integer (entier) borneMinimum
int borneMaximum = 30000; // Affecte 0 à la variable de type Integer (entier) borneMaximum
Int nombre = (int)(Math.random() * (borneMaximum - borneMinimum)) + borneMinimum ; //affecte le résultat du calcul en type integer(entier) à la variable de type integer (entier) nombre.


le calcul étant :
Math.random() = un nombre float entre 0 et 1. prenons 0.5 pour notre exemple.
borneMinimum = 0.
borneMaximum = 3000.

soit le calcul (0.5 x (3000-0)) + 0 soit 1500 .. pour cet exemple.
0
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
Ou pour faire court, ce code calcule un
int nombre
au hasard entre
borneMinimum
et
borneMaximum
.
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Comme le dit gravgun, ce code donne un nombre au hasard entre les deux bornes.
Pour expliquer plus précisément, la dernière ligne se décompose ainsi :
int nombre = (int)(Math.random() * (borneMaximum - borneMinimum)) + borneMinimum ; 

Math.random() donne un nombre aléatoire entre 0 et 1.
Donc en le multipliant par (borneMaximum - borneMinimum), on obtient un nombre aléatoire entre 0 et (borneMaximum - borneMinimum)

Ensuite, ce nombre (décimal) est converti en entier par le « cast » (int).
Puis à ce résultat est ajouté (borneMinimum).
Donc tu as un nombre entier aléatoire compris entre (0 + borneMinimum) et (borneMaximum - borneMinimum + borneMinimum), donc entre (borneMinimum) et (borneMaximum).

Xavier
0