Java et Math.random()

Bonjour,

Je dois taper un programme sur Java où je dois donner une expression dont l'évaluation renvoie un entier aléatoire dans l'intervalle [1;6]. Je précise que je suis débutante en programmation... il faut utiliser la touche Math.random() qui renvoie un réel de l'intervalle [0;1[.

Est-ce que ce programme pourrait marcher ou est faux ?
import java.util.Scanner;

class MathRandom {
       public static void main(String[] args) {
                int random,lower,higher;
                Scanner sc = new Scanner(System.in);
                lower = 1;
                highter = 7;
                random = (Math.random()*(highter-lower))+lower;
                System.out.println("Le résultat est : " +random);

     }

}


Merci...

4 réponses

  1. Modérateur
    Compiles le code, regarde les messages d'erreur, débogues, testes...
    Tout cela fait partie du travail de développeur, écrire le code ne suffit pas.
    1. Salut,

      Je te conseille de vérifier le nom de tes variables, lors de la déclaration tu utilises "higher", et lors de l'initialisation tu utilises "highter" ...

      Le plus simple pour éviter ces erreurs et de faire la déclaration et l'initialisation en une ligne, comme cela :

      int lower = 1, higher = 7;

      Et en conséquence de cela, les deux lignes lower = 1 et highter = 7 deviennent inutiles.
      1. random = (int)(Math.random()*(highter-lower))+lower; 
        Ca devrais marcher.

        Bon courage.
        1. En compilant tu trouveras déjà des erreurs de frappes :D
          sinon, tu auras un petit problème de types, Math.random() renvoie un double (un nombre à virgule) alors que tes autres variables sont int, mais tu devrais pouvooir surmonter ça facilement, je te laisse chercher...