Java et Math.random() [Fermé]

Signaler
Messages postés
1
Date d'inscription
lundi 14 octobre 2013
Statut
Membre
Dernière intervention
14 octobre 2013
-
Messages postés
7
Date d'inscription
samedi 28 décembre 2013
Statut
Membre
Dernière intervention
4 janvier 2014
-
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

Messages postés
16303
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
11 avril 2021
2 817
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
7
Date d'inscription
vendredi 18 octobre 2013
Statut
Membre
Dernière intervention
27 octobre 2013
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...
random = (int)(Math.random()*(highter-lower))+lower; 
Ca devrais marcher.

Bon courage.
Messages postés
7
Date d'inscription
samedi 28 décembre 2013
Statut
Membre
Dernière intervention
4 janvier 2014

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.