/ / Einige Fehler erhalten, die ich nicht mit dieser Methode beheben kann - Java, Methoden, Laufzeitfehler

Einige Fehler, die ich nicht in dieser Methode beheben kann - Java, Methoden, Laufzeitfehler

Was mache ich hier falsch? Ich bekomme Fehler getMenuChoice() Methode, bei der ich versuche, meine Benutzerauswahl = zu setzenfootballTeam1 und footballTeam2, je nachdem, welchen Buchstaben sie eingeben. In der Methode soll ich dem Benutzer das Menü der Optionen ausdrucken und die Auswahl des Benutzers mit der Scannertastatur akzeptieren. Wenn der Benutzer dann keine der aufgelisteten Optionen auswählt, das Menü erneut drucken und erneut fragen soll, soll ich das zurückgeben Auswahl des Benutzers als String. Hier ist mein Code.

 import java.util.Scanner;

public class FootballGame {
static Scanner keyboard = new Scanner(System.in);
static int arewedone = 0;
static String choice;




public static void main(String[] args) {
FootballTeam footballTeam1;
FootballTeam footballTeam2;



System.out.print("Enter a name for a team:");
footballTeam1 = new FootballTeam(keyboard.nextLine(), 0);
System.out.print("Enter a name for another team:");
footballTeam2 = new FootballTeam(keyboard.nextLine(), 0);

do{
System.out.println("Game Score:");
System.out.println(footballTeam1.getName() + ":" + footballTeam1.getScore());
System.out.println(footballTeam2.getName() + ":" + footballTeam2.getScore());

choice = getMenuChoice();
score = handleTeamScore(FootballTeam team);
}while(arewedone == 0);
}

public static String getMenuChoice(FootballTeam footballTeam1, FootballTeam footballTeam2) {
String input;




do {
System.out.println("Select an option:");
System.out.println("A:" + footballTeam1 + " scored");
System.out.println("B:" + footballTeam2 + " scored");
System.out.println("C: game ended.");
System.out.println("?:");
input = keyboard.nextLine();
if (input.equalsIgnoreCase("A")) {
choice = (footballTeam1);
arewedone = 0;
} else if (input.equalsIgnoreCase("B")) {
choice = (footballTeam2);
arewedone = 0;
} else if (input.equalsIgnoreCase("C")) {
System.out.println("Game Over");
arewedone++;
}



} while (!input.equals("A") && !input.equals("B") && !input.equals("C"));
return choice;

}
public static void handleTeamScore(FootballTeam team) {

int points;

do {

System.out.println("How many points were scored?");

System.out.print("?: ");

points = keyboard.nextInt();

if ((team.addScore(points)) == true) {

arewedone++;
} else {
System.out.println("That was an invalid option. Please try again.");
System.out.println("Hints:");
System.out.println("Touchdown = 6 points");
System.out.println("Field Goal = 3 points");
System.out.println("Safety = 2 points");
System.out.println("Extra Point = 1 point");
}
} while (arewedone == 0);

}

}

Antworten:

0 für die Antwort № 1

Sie versuchen, einem Objekt ein Objekt zuzuweisen, das nicht kompatibel ist.
Wenn Sie das wirklich wollen, müssen Sie vorher den Objekttyp verwenden.