Bonsoir , suite à la fin de mon premier module de JAVA en première année de DUT info je me suis lancé dans la confection d'un jeu tout simple , générant un nombre au hasard l'utilisateur devant le trouver, mon seul problème est que le programme me "zappe" une partie , voila ce qu'il se passe quand j'execute le programme ==>
Et il s'arrête la sans demander de valeur , le seul moyen pour le faire aller plus loin est de mettre tentative = nbtentatives quand on l'execute et il passe a la fin du programme en indiquant que la personne n'as pas trouvé le nombre ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Choissisez la limite superieure 10 Le nombre a trouver est entre 0 et 10 Le nombre genere est : 7 Choissisez le nombre de tentatives 4 Vous avez 4 tentatives tentative = 1 trouve = false
Le code du programme est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 import java.util.Scanner; import java.util.Random; class TrouveNb { public static void main (String [] args) { //Initialisation du scanner, du générateur et des variables de test Scanner sc = new Scanner (System.in); Random r = new Random(); int tentative = 1; int nbTentative; boolean trouve = false; //Choix de l'intervalle System.out.println ("Choissisez la limite superieure (nombre maximum a deviner)\n"); int borneSup = sc.nextInt(); System.out.println (" \nLe nombre a trouver est entre 0 et "+borneSup+" \n "); //Création du nombre a deviner int nombre = r.nextInt (borneSup); // Pour test ==> Affiche le nombre genere System.out.println (" \nLe nombre genere est: "+nombre+" \n "); //Choix du nombre de tentative System.out.println ("Choissisez le nombre de tentative \n "); nbTentative = sc.nextInt(); System.out.println (" \n Vous avez "+nbTentative+" tentatives \n "); //Pour test System.out.println ("tentative = "+tentative); System.out.println ("trouve = "+trouve); //Debut du jeu while ((tentative < nbTentative) && (trouve = false)) { System.out.println (" \n Entrer un nombre \n "); int v = sc.nextInt(); if (v == nombre) { trouve = true; System.out.println(" \nVous avez trouve le nombre! Bravo!"); } else { if (v < nombre) { System.out.println(" \nLe nombre a trouver est inférieur a "+v+" \n "); tentative ++; } else { System.out.println(" \nLe nombre a trouver est supérieur a "+v+" \n "); tentative ++; } } } if (tentative >= nbTentative) { System.out.println (" \nDesole , vous n'avez pas trouve le nombre!"); } } }
Merci d'avance pour vos indications
Partager