Incompréhension lors de l’exécution d'une boucle "while"

Résolu
Bonjour,

Je rencontre actuellement un problème lors de l'éxecution de mon code javascript.
Je m'explique il s'agit d'un code pour un jeu de "chiffre mystère" qui invite l'utilisateur a deviner un chiffre (basique)
Voici le code :
fancy


Or lors de l'éxecution, la boucle ne se répète pas lorsque le premier chiffre saisi est supérieur et que le suivant est inférieur.

Voici un screen de mon problème :


On voit que le programme ne nous demande pas de retaper un nouveau chiffre or dans TOUS les autres cas il n'y a aucun problème.

Voilà, j'éspère que quelqu'un pourra m'éclairer :-).

Merci.

Configuration: Windows / Chrome 75.0.3770.142

3 réponses

  1. Voici le code en question :
    package test;
    
    import java.util.Scanner;
    
    public class test {
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		System.out.print("Entrez un nombre et essayez de trouver le bon : ");
    		int sc2 = sc.nextInt();
    		int n = 128;
    		while (sc2 > n) {
    			System.out.println("C'est moins");
    			System.out.print("Recommencez svp : ");
    			sc2 = sc.nextInt();
    		}
    		if (sc2 == n) {
    			System.out.print("Trouvé !");
    			sc.nextInt();
    		}
    		while (sc2 < n) {
    			System.out.println("C'est plus");
    			System.out.println("Recommencez svp : ");
    			sc2 = sc.nextInt();
    		}
    		}
    		}	


    Et l'erreur est la suivante :

    Entrez un nombre et essayez de trouver le bon : 120
    C'est plus
    Recommencez svp : 130
    1. Bonjour Shinobi55,

      Essaye comme ceci :

      package test;
      
      import java.util.Scanner;
      
      public class test {
      
      	public static void main(String[] args) {
      		Scanner sc = new Scanner(System.in);
      		System.out.print("Entrez un nombre et essayez de trouver le bon : ");
      		int sc2 = sc.nextInt();
      		int n = 128;
      
      		while (sc2!=n){
      			if(sc2 > n){
      				System.out.println("C'est moins");
      				System.out.print("Recommencez svp : ");
      			}
      			if(sc2 < n){
      				System.out.println("C'est plus");
      				System.out.println("Recommencez svp : ");
      			}
      			sc2 = sc.nextInt();
      		}
      		if(sc2==n){
      			System.out.print("Trouvé !");
      		}
      	}
      }
      


      Cdt.
    2. Bonjour,

      Effectivement, il est plus simple de procéder comme ceci, je vais modifier mon code, merci de votre réponse très rapide !

      Cdt.
    3. Avec plaisir :)

      Cdt.
    4. Ce que tu peux faire aussi, c'est générer un nombre aléatoire que le joueur doit trouver.

      Random rand = new Random();
      int max = 200;
      int min = 1;
      int n = rand.nextInt(max-min+1)+min;
      
  2. Heu...
    C’est pas du JavaScript ça?
    1. Bonjour,

      En effet, c'est du java.
      Il s'est trompé.

      Cdt.
    2. Oui, je sais j'ai mis java de base mais ça a mis javascript :/

      Cdt