Java:-lors de la boucle avec l'instruction switch
Langage: Java
boolean x = false;
String letter = "NULL";
do{
System.out.print("Enter grade (one character): ");
letter = sc.next();
switch (letter) {
case "a":
x=true;
break;
case "A":
x=true;
break;
case "b":
x=true;
break;
case "B":
x=true;
break;
case "c":
x=true;
break;
case "C":
x=true;
break;
case "d":
x=true;
break;
case "D":
x=true;
break;
case "f":
x=true;
break;
case "F":
x=true;
break;
default:
System.out.println("Invalid grade - must enter A,B,C,D,F (upper or lower case)");
System.out.println(x);
break;
}
System.out.println(x);
}
while(x=false);
--------------résultat de sortie-----------------------------------résultat de sortie--------------------------
Depuis que je suis nouveau, j'ai besoin d'un 10 à la réputation de poster des photos de la sortie...voici donc la sortie en tapant...
//c'est pour si je entrez la Chaîne "e"
Entrent en première année (un caractère): e
Invalide de catégorie - devez saisir A,B,C,D,F (majuscule ou minuscule)
faux
faux
//c'est pour si je entrez la Chaîne "A"
Entrent en première année (un caractère): Un
Invalide grade devez saisir A,B,C,D,F (majuscule ou minuscule)
vrai
La question***:Pour ma sortie,quand j'entre "e", je m'attendais à voir quelque chose comme
Entrent en première année (un caractère): e
Invalide grade devez saisir A,B,C,D,F (majuscule ou minuscule)
faux
faux
//boucle à travers
Entrent en première année (un caractère):
Alors j'espérais que lorsque je suis entré "e" il serait faux...puis reprendre au début jusqu'à ce qu'un résultat est finalement entré qui est: A,B,C,D,F (majuscule ou minuscule)
Quelle est mon erreur? J'ai essayé de réfléchir moi-même, mais j'ai pensé que je voudrais voir ce que vous les gars ont à dire....
Si vous pensez que la stratégie que j'utilise pour obtenir le résultat n'est pas le meilleur....Quelle stratégie/logique recommanderiez-vous?
Merci pour l'aide!
Vous pourriez faire
while(!x)
. Vous remarquerez que votre erreur si vous essayez d'inverser cette comparaison while(false = x)
Merci!!
OriginalL'auteur ccaulfield | 2014-10-23
Vous devez vous connecter pour publier un commentaire.
Ce qui est faux. (doit être ==)
La façon dont vous apprenez la programmation est en faisant de chaque et chaque erreur, dans l'ordre, jusqu'à ce que vous avez fait assez et vous êtes fatigué de il. 🙂
Merci beaucoup Jon!!
OriginalL'auteur Jon Kiparsky
Oui
=
est l'opérateur d'affectation, vous devez utiliser==
pour vérifier l'égalité et d'autres que,notez ici votre commutateur peut être réduite à la suite et actuellement vous avez des code redondant, vous pouvez mieux utiliser une instruction if avec||
opérateur.OriginalL'auteur CoderCroc
Vous pouvez simplifier l'instruction switch encore plus loin. Par la conversion de la lettre majuscule que vous vérifiez pour les majuscules et les minuscules. Par exemple:
OriginalL'auteur Donal