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 に答える