[英]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.