【发布时间】:2014-10-23 02:41:52
【问题描述】:
语言: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);
--------------结果输出------------------------------- ----结果输出-------------
由于我是新手,我需要 10 声望才能发布输出的图片...所以这是通过输入输出的输出...
//如果我输入字符串“e”
输入成绩(一个字符):e 成绩无效 - 必须输入 A、B、C、D、F(大写或小写)
假
假
//如果我输入字符串“A”
输入成绩(一个字符):A
无效等级 - 必须输入 A、B、C、D、F(大写或小写)
是的
问题***:对于我的输出,当我输入“e”时,我希望看到类似的东西
输入成绩(一个字符):e
无效等级 - 必须输入 A、B、C、D、F(大写或小写)
假
假
//循环遍历
输入成绩(一个字符):
所以我希望当我输入“e”时它会使其为假......然后从头开始直到最终输入结果:A,B,C,D,F(上或下案例)
我的错误是什么?我一直在尝试自己集思广益,但我想我会看看你们要说什么......
如果您认为我用来获得输出的策略不是最好的......您会推荐什么策略/逻辑?
感谢您的帮助!
【问题讨论】:
-
很简单,在你的默认语句中,使 x == false;
-
你可以做
while(!x)。如果您尝试反转该比较,您会注意到您的错误while(false = x) -
@DreadHeadedDeveloper - 谢谢!!
标签: java switch-statement do-while