Signification de ces 3 lignes en java
pierre
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
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 ;
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 ;
2 réponses
-
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. -
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