-1
Unten ist ein Programm, das Benutzereingaben in eine Buchstabenpunktzahl konvertieren soll. Der Code funktioniert wie vorgesehen, aber meine "endGame" -Methode läuft beim Start, bevor ich es auch möchte.
importieren java.util.Scanner; // Ich brauche dies die BenutzereingabeKann while-Schleife mit einem Zeichen nicht stoppen
public class Grade {
public static void main(String[] args) {
startGame(); // This creates my start game method
endGame(); // this will end the game
gradeLoop(); // This creates the letter grade determination
}
public static void startGame() {// Starts the startGame method
System.out.println("Welcome to the Auto Score OneThousand");
System.out.println("Please enter your score from 0 to 100 (or press 'E' to exit): ");
}
public static void gradeLoop() {
String userInput; // assigns user input
char letter = 'A'; // assign a char that will be updated with the user's
// letter grade
double score = 0.0;
boolean go = true;
while (go) {
Scanner keyboard = new Scanner(System.in); // Create a new Scanner
// to hold the input
userInput = keyboard.nextLine();
if (userInput.equals("E") || userInput.equals("e")) {
go = false;
endGame();
break;
} else {
score = Double.parseDouble(userInput);// convert string to
// double
}
if (score >= 90 & score <= 100)
letter = 'A';
else if (score >= 80 & score <= 89)
letter = 'B';
else if (score >= 70 & score <= 79)
letter = 'C';
else if (score >= 60 & score <= 69)
letter = 'D';
else if (score >= 0 & score <= 59)
letter = 'F';
{
System.out.println("You earned a letter grade of: " + letter + "\n\n");
startGame();
}
}
}
public static void endGame() {
System.out.println("Thank you, This ends your Auto Score OneThousand experiance");
}
}
Beginnen Sie mit dem Einrücken und Hinzufügen von geeigneten Zeilenbereichen. Dies ist eine Textwand und nahezu unlesbar. – chrylis
Ist der angegebene Code in der Java-Grammatik korrekt? Sieht so merkwürdig aus. – Codemole
Nehmen Sie an, dass die Person, die die Grade eingibt, die Buchstabenklasse ohne die Hilfe des Programms bestimmen und eintragen kann. Dann können Sie eine switch-Anweisung anstelle von if ... elseif ... else verwenden, indem Sie die Fälle 'a' bis 'e' und 'default' verwenden, um die Eingabe von Einzelzeichen korrekt zu handhaben. Eine Fortsetzungsvariable kann eine enthaltende while-Schleife steuern, die im Fall 'E' auf false gesetzt wird. –