-1

我在这里做错了什么?我在尝试设置用户选择 = footballTeam1 和 footballTeam2 的方法上遇到错误,getMenuChoice()具体取决于他们输入的字母。在我应该向用户打印选项菜单的方法中,并使用扫描仪键盘接受用户的选择。如果然后用户没有选择列出的选项重新打印菜单并再次询问,我应该将用户的选择作为字符串返回。这是我的代码。

 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);

}

}
4

1 回答 1

0

您正在尝试在两个不兼容的字符串中分配对象。
如果你真的想这样做,你必须先使用对象类型进行转换。

于 2013-11-09T02:21:50.533 回答