Java et Math.random()

Illydique Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
BabyPtero Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   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 Date d'inscription   Statut Membre Dernière intervention   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 Date d'inscription   Statut Membre Dernière intervention  
 
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