Boucle do while
Résolu/Fermé
Zellian
Messages postés
3
Date d'inscription
dimanche 19 juillet 2020
Statut
Membre
Dernière intervention
21 juillet 2020
-
19 juil. 2020 à 16:55
Zellian Messages postés 3 Date d'inscription dimanche 19 juillet 2020 Statut Membre Dernière intervention 21 juillet 2020 - 21 juil. 2020 à 10:32
Zellian Messages postés 3 Date d'inscription dimanche 19 juillet 2020 Statut Membre Dernière intervention 21 juillet 2020 - 21 juil. 2020 à 10:32
1 réponse
KX
Messages postés
16737
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
18 mai 2024
3 015
19 juil. 2020 à 17:30
19 juil. 2020 à 17:30
Bonjour,
En testant ton code j'ai bien le résultat souhaité, pas ton bug :
Si vraiment tu as un problème tu peux afficher les différents octets du String choix, il est par exemple possible qu'il y ait un espace qui se promène.
Remarque : il y a plusieurs "maladresses" dans ton code, voici une version corrigée :
Résultat :
En testant ton code j'ai bien le résultat souhaité, pas ton bug :
AVANT choix = isMatch = false
Voulez-vous continuer ? oui / non :oui
APRES choix = oui isMatch = true
AVANT choix = oui isMatch = true
Voulez-vous continuer ? oui / non :oui
APRES choix = oui isMatch = true
AVANT choix = oui isMatch = true
Voulez-vous continuer ? oui / non :non
APRES choix = non isMatch = false
Fin
Si vraiment tu as un problème tu peux afficher les différents octets du String choix, il est par exemple possible qu'il y ait un espace qui se promène.
System.out.println(Arrays.toString(choix.getBytes())); // import java.util.Arrays;
Remarque : il y a plusieurs "maladresses" dans ton code, voici une version corrigée :
public static void main(String[] args) { Scanner sc = new Scanner(System.in); String choix; do { System.out.print("Voulez-vous continuer ? oui / non : "); choix = sc.nextLine(); System.out.println("choix=" + choix + Arrays.toString(choix.getBytes())); } while (choix.equals("oui")); System.out.print("Fin"); }
Résultat :
Voulez-vous continuer ? oui / non : oui
choix=oui[111, 117, 105]
Voulez-vous continuer ? oui / non : oui
choix=oui[111, 117, 105]
Voulez-vous continuer ? oui / non : non
choix=non[110, 111, 110]
Fin
20 juil. 2020 à 14:47
Voici ce que j'obtiens avec la version corrigée :
20 juil. 2020 à 16:56
Chez moi, cela donne et ce qui correspond à du Latin-1
A priori les valeurs chez toi devraient être différentes (je pense que ce sera UTF-16), mais tu peux forcer le Scanner pour avoir un autre charset, par exemple
Modifié le 21 juil. 2020 à 11:10
J'avais modifié cette option pour pouvoir utiliser des accents dans les variables.
Après modifications même la partie pour les caractères fonctionne.
Merci beaucoup pour tes explications.