Java et Math.random()

Illydique Messages postés 1 Statut Membre -  
BabyPtero Messages postés 7 Statut Membre -
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...
A voir également:

4 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
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.
3
Mazess Messages postés 7 Statut Membre 2
 
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...
0
Pecose
 
random = (int)(Math.random()*(highter-lower))+lower; 
Ca devrais marcher.

Bon courage.
0
BabyPtero Messages postés 7 Statut Membre
 
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.
0