Boucle while, mauvaise utilisation
Résolu/Fermé
A voir également:
- Boucle while, mauvaise utilisation
- Notice d'utilisation - Guide
- Utilisation chromecast - Guide
- Boucle cmd - Forum Programmation
- Factorielle en c boucle while - Forum C
- La ressource demandée est en cours d'utilisation - Forum Téléphones & tablettes Android
3 réponses
NHenry
Messages postés
15175
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
25 décembre 2024
350
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
15175
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
25 décembre 2024
350
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
15175
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
25 décembre 2024
350
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
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
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
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
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.