В этом коде пользователь вводит тестовую метку и должен распечатывать оценку и спрашивать, хочет ли пользователь ввести другой знак, однако моя проблема в том, что он дважды печатает этот бит, Знаешь почему?Код, выводящий строки дважды внутри цикла?
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();
}
}
Благодарим за помощь, которую вы можете дать.