Incompréhension lors de l’exécution d'une boucle "while" [Résolu]

Signaler
Messages postés
21
Date d'inscription
mercredi 27 février 2019
Statut
Membre
Dernière intervention
28 août 2019
-
 DarthLighter -
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

Messages postés
14478
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
12 juillet 2020
554
Bonsoir,

Tes captures d’écran sont illisibles.
Pour poster un code, lisible il faut faire comme décrit là

https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Messages postés
21
Date d'inscription
mercredi 27 février 2019
Statut
Membre
Dernière intervention
28 août 2019

Bonsoir,

Oui, je m'en doutais un peu mais je posterais le code demain car il se fait tard ..
Messages postés
21
Date d'inscription
mercredi 27 février 2019
Statut
Membre
Dernière intervention
28 août 2019

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

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.
Messages postés
21
Date d'inscription
mercredi 27 février 2019
Statut
Membre
Dernière intervention
28 août 2019

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.
Avec plaisir :)

Cdt.

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;
Messages postés
14478
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
12 juillet 2020
554
Heu...
C’est pas du JavaScript ça?

Bonjour,

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

Cdt.
Messages postés
21
Date d'inscription
mercredi 27 février 2019
Statut
Membre
Dernière intervention
28 août 2019

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

Cdt