【发布时间】:2017-10-08 09:19:27
【问题描述】:
下面的代码是我目前写的,所以什么都没有实现。然而,在程序中,它会询问用户是否降低了最低成绩。如果用户回答说“是”、“是”、“否”或“否”,则 do 循环应该结束并继续执行其余代码。
但是,即使我输入了那些正确的响应,它也会继续循环。我是java新手,如果这真的很愚蠢,请道歉。
代码:
import java.util.Scanner;
public class AvgGrade {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
int numTest=1;
//Test Number Checker
while(numTest<=1) {
System.out.println("How many tests were given out");
System.out.println("Must be more than 1");
numTest=input.nextInt();
}
//Lowest Grade Dropped Checker
boolean droppedLow=false;
String dropAnswer="default";
do{
System.out.println("Is the lowest grade dropped?");
System.out.println("Answer: Yes, yes, No, no");
dropAnswer=input.next();
}
while(dropAnswer.compareTo("Yes")!=0||dropAnswer.compareTo("yes")!=0||
dropAnswer.compareTo("No")!=0||dropAnswer.compareTo("no")!=0);
if(dropAnswer.equals("Yes")||dropAnswer.equals("yes"))
droppedLow=true;
else if(dropAnswer.equals("No")||dropAnswer.equals("no"))
droppedLow=false;
System.out.println("----------------DEBUG----------------");
System.out.println(numTest);
System.out.println(dropAnswer);
System.out.println(droppedLow);
}
}
控制台/输出:
How many tests were given out
Must be more than 1
5
Is the lowest grade dropped?
Answer: Yes, yes, No, no
Yes
Is the lowest grade dropped?
Answer: Yes, yes, No, no
yes
Is the lowest grade dropped?
Answer: Yes, yes, No, no
no
Is the lowest grade dropped?
Answer: Yes, yes, No, no
No
Is the lowest grade dropped?
Answer: Yes, yes, No, no
【问题讨论】:
-
已编辑以在示例代码中包含缺少的 import.java.util.Scanner
-
欢迎来到 Stack Overflow!看来您需要学习使用调试器。请帮助自己一些complementary debugging techniques。如果您之后仍有问题,请随时回来提出更具体的问题。