Programme ne s'executant pas comme il le devrait
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 ==>
Code:
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 |
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 ...
Le code du programme est
Code:
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 :ccool: