Java et Math.random()

Fermé
Illydique Messages postés 1 Date d'inscription lundi 14 octobre 2013 Statut Membre Dernière intervention 14 octobre 2013 - Modifié par pijaku le 27/12/2013 à 10:04
BabyPtero Messages postés 7 Date d'inscription samedi 28 décembre 2013 Statut Membre Dernière intervention 4 janvier 2014 - 28 déc. 2013 à 23:26
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
14 oct. 2013 à 19:01
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 vendredi 18 octobre 2013 Statut Membre Dernière intervention 27 octobre 2013 2
18 oct. 2013 à 18:50
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
random = (int)(Math.random()*(highter-lower))+lower; 
Ca devrais marcher.

Bon courage.
0
BabyPtero Messages postés 7 Date d'inscription samedi 28 décembre 2013 Statut Membre Dernière intervention 4 janvier 2014
28 déc. 2013 à 23:26
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