Signification de ces 3 lignes en java

Fermé
pierre - Modifié par dsy73 le 18/01/2014 à 20:47
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 18 janv. 2014 à 21:55
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 lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 21
Modifié par Xavierdu34 le 18/01/2014 à 21:18
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 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
18 janv. 2014 à 21:43
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 jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
18 janv. 2014 à 21:55
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