Boolean answer = true;
while(answer == true){
String ans;
do{
System.out.println("\nWould you like to enter another student's record?
(Enter Y or N)");
ans = in.next().toUpperCase();
}
while((!ans.equals("Y")) || (!ans.equals("N")));
in.close();
if(ans.equals("Y")){
answer = true;
} //End of YES if statement
else{
answer = false;
} //End of NO statement
} //End of While Statement for Main program
好的显而易见的简要说明:我根据if“answer = true”在循环上设置程序。但是,do-while循环似乎不接受“Y”或“N”并继续循环。为什么这段代码不起作用?
答案 0 :(得分:3)
更改此
(!ans.equals("Y")) || (!ans.equals("N"))
进入这个:
(!ans.equals("Y")) && (!ans.equals("N")))
这就是你被困的原因!
答案 1 :(得分:2)
(!ans.equals("Y")) || (!ans.equals("N"))
永远是真的
您可能想要使用while((!ans.equals("Y")) && (!ans.equals("N")));