Signification de ces 3 lignes en java

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. 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
    1. 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. Contributeur
        Ou pour faire court, ce code calcule un
        int nombre
        au hasard entre
        borneMinimum
        et
        borneMaximum
        .
        0