Signification de ces 3 lignes en java

pierre -  
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 ;

2 réponses

  1. Xavierdu34 Messages postés 223 Statut Membre 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
    1. ElementW Messages postés 5690 Statut Contributeur 1 293
       
      Ou pour faire court, ce code calcule un
      int nombre
      au hasard entre
      borneMinimum
      et
      borneMaximum
      .
      0
  2. Reivax962 Messages postés 3742 Statut Membre 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