do {
loop = false;
if (userInput.equalsIgnoreCase("Score")){
System.out.println("You have chose to input a score.\nEnter your score here: ");
score = kbInput.nextDouble();
System.out.println("What was the best possible score?");
total = kbInput.nextDouble();
finalScore = score/total * 100;
percent = (finalScore + "%");
if (finalScore >= 90){
grade = 'A';
} else if (finalScore >= 80){
grade = 'B';
} else if (finalScore >= 70){
grade = 'C';
} else if (finalScore >= 60){
grade = 'D';
} else {
grade = 'F';
}
System.out.println("You got " + percent + ". Which is a letter grade '" + grade + "'.");
loop = false;
} else if (userInput.equalsIgnoreCase("Percent")) {
System.out.println("You have chosen to input a percent.\nEnter your percent here: ");
finalScore = kbInput.nextDouble();
if (finalScore >= 90){
grade = 'A';
} else if (finalScore >= 80){
grade = 'B';
} else if (finalScore >= 70){
grade = 'C';
} else if (finalScore >= 60){
grade = 'D';
} else {
grade = 'F';
}
System.out.println("You got a letter grade '" + grade + "'.");
loop = false;
} else {
System.out.println("Sorry, I don't understand that.");
loop = true;
}
} while (loop = true);
Я довольно новичок в Java, и я занимаюсь классом и занимаюсь мини-проектами самостоятельно. Мой план состоял в том, чтобы цикл кода возвращался к началу всякий раз, когда вы достигли финального оператора if из-за ввода недопустимой строки (например, ничего, кроме показателя и процента). Я не могу понять, что не так, это только секторы цикла операторов if/else.Код ошибки при неправильном вводе
Затем вам нужно заполнить 'userInput' внутри вашего цикла. –
'==' для сравнения, '=' для присваивания ... также не сравнивать booleans, используя '=='. – Li357