Boucle while, mauvaise utilisation
Résolu/Fermé
A voir également:
- Boucle while, mauvaise utilisation
- Notice d'utilisation - Guide
- Utilisation chromecast - Guide
- Boucle excel sans macro - Forum Excel
- Boucle cmd - Forum Programmation
- Imprimante en cours d'utilisation - Forum Imprimante
3 réponses
NHenry
Messages postés
15163
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 novembre 2024
345
7 sept. 2017 à 20:43
7 sept. 2017 à 20:43
Quel message d'erreur ?
Il me demande de donné une valeur à la variable "mdp" sauf que je voudrais la saisir après au clavier
Merci
Merci
NHenry
Messages postés
15163
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 novembre 2024
345
7 sept. 2017 à 20:48
7 sept. 2017 à 20:48
Donnes-lui une valeur par défaut différente de celle attendu.
NHenry
Messages postés
15163
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 novembre 2024
345
Modifié le 7 sept. 2017 à 21:51
Modifié le 7 sept. 2017 à 21:51
Oui, tu boucle tant que le MDP est bon ...
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
7 sept. 2017 à 22:40
7 sept. 2017 à 22:40
Bonjour,
Le mieux dans ton cas est d'utiliser une boucle do/while, ça t'évite la première initialisation qui ne sert à rien.
Mais sinon pour utiliser la négation d'une condition tu as l'opérateur
Le mieux dans ton cas est d'utiliser une boucle do/while, ça t'évite la première initialisation qui ne sert à rien.
Mais sinon pour utiliser la négation d'une condition tu as l'opérateur
!(prononcer "not" ou "pas")
do { System.out.println("Mot de passe : "); mdp = sc.nextLine(); } while (!mdp.equals("azerty"));
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
7 sept. 2017 à 23:24
7 sept. 2017 à 23:24
Si tu prends ton code de départ, Eclipse te souligne en rouge
Il faut lui en donner une (n'importe laquelle sauf "azerty") pour pouvoir évaluer une première fois ta condition de boucle.
Cela va donc faire un calcul inutile vu que l'on sait très bien que la condition sera toujours fausse la première fois... D'où l'intérêt du do/while qui n'évalue la condition qu'après avoir fait tourner la boucle au moins une fois.
mdp.equals("azerty")en te disant que
mdpn'est pas initialisé, c'est à dire qu'il n'a pas de valeur.
Il faut lui en donner une (n'importe laquelle sauf "azerty") pour pouvoir évaluer une première fois ta condition de boucle.
String mdp = "inutile"; while (!mdp.equals("azerty")) {
Cela va donc faire un calcul inutile vu que l'on sait très bien que la condition sera toujours fausse la première fois... D'où l'intérêt du do/while qui n'évalue la condition qu'après avoir fait tourner la boucle au moins une fois.