0

编译时我似乎收到“错误:无法取消引用 int”错误。我已经查找了发生这种情况的原因,尽管我不确定我应该如何解决它。

public class NetID_BaseballPitcher
{
    Scanner in = new Scanner(System.in);
    private final int maxgames = 20;
    private int[] gamesPitched = new int[maxgames];
    private int count, totalRuns;
    private float totalInnings;

    public int inputGameData()
    {
        for(int i = 0; i < count; i++)
        {
            gamesPitched[i] = new NetID_BaseballGame();
            gamesPitched[i].inputGame();
        }
    }  
}

这是 Baseballgame.java

public class NetID_BaseballGame
{
    private static int runs;
    private static int gameNum;
    private static float innings;
    public static void inputGame()
    {
        do
        {
            System.out.print("Game # ");
            gameNum = in.nextInt();
        } while( gameNum < 0 );
        do
        {
            System.out.print("Number Innings");
            innings = in.nextInt();
        } while( ( innings < 0 ) && ( innings > 10 ) );

        do
        {
            System.out.print("Number Runs");
            runs = in.nextInt();
        } while( runs < 0 );
    }
}

在编译 BaseballPitcher.java 时,我得到了这个:

NetID_BaseballPitcher.java:45: error: incompatible types
            gamesPitched[i] = new NetID_BaseballGame();
                          ^
  required: int
  found:    NetID_BaseballGame
NetID_BaseballPitcher.java:46: error: int cannot be dereferenced
        gamesPitched[i].inputGame();

我假设我错过了一些完全明显的东西,我只是在我所在的地方旋转。任何帮助将不胜感激!

4

1 回答 1

1

您已声明gamesPitched为一组int值,但这不是您所需要的。根据要求,您应该像这样声明它:

private NetID_BaseballGame[] gamesPitched = new NetID_BaseballGame[MAX_GAMES];

您还需要在count某处初始化变量。

于 2013-09-12T02:35:57.467 回答