0
在这段代码中,用户键入一个测试标记,它应该打印出分数并询问用户是否想输入另一个标记,但是,我的问题是它打印出这个位两次,不知道为什么?在while循环内打印两行代码?
import java.util.Scanner;
public class ExamGrades {
public static void main(String[] args) {
int mark;
String answer;
Scanner scan = new Scanner(System.in);
System.out.println("Enter student mark: ");
mark = scan.nextInt();
while (mark >= 0) {
if (mark < 40) {
System.out.println("FAILED.");
} else if (40 <= mark && mark <= 49) {
System.out.println("3rd");
} else if (50 <= mark && mark <= 59) {
System.out.println("2/2");
} else if (60 <= mark && mark <= 69) {
System.out.println("2/1");
} else if (mark >= 70 && mark <= 100) {
System.out.println("1st");
} else if (mark > 100) {
System.out.println("Invalid mark");
}
System.out.println("Enter another mark? Yes or No: ");
answer = scan.nextLine();
if (answer.equalsIgnoreCase("yes")) {
System.out.println("Enter student mark: ");
mark = scan.nextInt();
} else if (answer.equalsIgnoreCase("no")) {
mark = -1;
System.out.println("Thank you.");
}
}
scan.close();
}
}
感谢您给予的任何帮助。