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

Résolu/Fermé
Shinobi55 Messages postés 21 Date d'inscription mercredi 27 février 2019 Statut Membre Dernière intervention 28 août 2019 - Modifié le 28 juil. 2019 à 23:14
 DarthLighter - 31 juil. 2019 à 14:36
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

Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 931
28 juil. 2019 à 23:20
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
0
Shinobi55 Messages postés 21 Date d'inscription mercredi 27 février 2019 Statut Membre Dernière intervention 28 août 2019 1
Modifié le 29 juil. 2019 à 00:18
Bonsoir,

Oui, je m'en doutais un peu mais je posterais le code demain car il se fait tard ..
0
Shinobi55 Messages postés 21 Date d'inscription mercredi 27 février 2019 Statut Membre Dernière intervention 28 août 2019 1
29 juil. 2019 à 10:36
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
0
DarthLighter
29 juil. 2019 à 10:57
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.
0
Shinobi55 Messages postés 21 Date d'inscription mercredi 27 février 2019 Statut Membre Dernière intervention 28 août 2019 1
29 juil. 2019 à 11:31
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.
0
Avec plaisir :)

Cdt.
0
DarthLighter
31 juil. 2019 à 14:36
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;
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 931
29 juil. 2019 à 11:13
Heu...
C’est pas du JavaScript ça?
0
DarthLighter
29 juil. 2019 à 11:27
Bonjour,

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

Cdt.
0
Shinobi55 Messages postés 21 Date d'inscription mercredi 27 février 2019 Statut Membre Dernière intervention 28 août 2019 1
29 juil. 2019 à 11:30
Oui, je sais j'ai mis java de base mais ça a mis javascript :/

Cdt
0