簡體   English   中英

java.lang.NullPointerException調用int數組時

[英]java.lang.NullPointerException When calling an int array

我對Java非常陌生,現在已經被困了幾個小時。 每當我嘗試調用organizeBallots()時,都會收到異常。 從我的閱讀中,我沒有正確初始化regionBallots或某些東西為空。 對我來說,看來我已經正確初始化了數組,並且由於它是一個int,所以它應該為0,而不是null。 ...但是我想我錯了,我們將不勝感激!

編輯:正如我說的,我是新手,所以我不確定是否有幫助,但是organizationBallots()被另一個類中的另一個方法調用。

int[] regionBallots;        
regionBallots = new int[9];



public int[] organizeBallots( int incoming )
{

    if ( incoming >= 1 && incoming <= 10 )
        regionBallots[0]++;    // I get the exception here

    else if ( incoming >= 11 && incoming <= 20 )
        regionBallots[1]++;


    return regionBallots;

}

使其如下所示: int[] regionBallots = new int[9];

除初始化程序外,您無法在方法外部編寫代碼。 要使用初始化程序,請執行以下操作:

{
  //here the initializing code
}

要使用靜態初始值設定項,請執行以下操作:

static {
    //here the static initializing code
}

這段代碼對我來說沒有任何問題:

public class T {

    int[] regionBallots;

    public T() {
        regionBallots = new int[9];
    }

    public int[] organizeBallots(int incoming) {

        if (incoming >= 1 && incoming <= 10)
            regionBallots[0]++; //

        else if (incoming >= 11 && incoming <= 20)
            regionBallots[1]++;

        return regionBallots;

    }

    public static void main(String[] args) {
        T t = new T();
        for (int i = 0; i < 100; i++) {         
              System.out.println(t.organizeBallots(i));
              System.out.println(t.organizeBallots(i)[0]);
              System.out.println(t.organizeBallots(i)[1]); 
        }
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM