我对java很新,现在我已经坚持了几个小时。每当我尝试调用organizBallots()时,我都会得到异常。从我读到的,我没有正确初始化regionBallots或者某些东西是null。对我来说,看起来我已经正确初始化了数组,因为它是一个int,它应该是0,而不是null。 ...但我想我错了,非常感谢任何帮助!
编辑:正如我所说的我是新手所以我不确定它是否有帮助,但是另一个类中的另一个方法正在调用organizBallots()。
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;
}
答案 0 :(得分:2)
像这样:int[] regionBallots = new int[9];
除初始化程序外,您不能在方法外编写代码。 要使用初始化程序写:
{
//here the initializing code
}
使用静态初始化程序写:
static {
//here the static initializing code
}
答案 1 :(得分:1)
此代码对我有用,没有任何问题:
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]);
}
}
}