我有一段代码可以扫描大量数字(作为整数)并将它们存储到场景对象中。然而,在我到达第 3499 个对象(它打印第 3498 个 J)之后,它会因空指针而崩溃。我寻找了最大数组大小,但除了 2^32-5 在互联网上找不到任何东西,但我什至没有接近这个限制。
in1scan = new Scanner(in1);
in2scan = new Scanner(in2);
scenario[] ret= new scenario[9999];
int j=0;
while (in1scan.hasNext()){
String[] input=(in1scan.next().split(",", 16));
ret[j]=new scenario();
for (int i=0; i<16;i++){
ret[j].input[i]=Integer.parseInt((input[i]));
}
j++;
}
j=0;
while (in2scan.hasNext()){
ret[j].correct=Integer.parseInt(in2scan.next()); //here things go wrong
j++;
System.out.println(j);
}
有人知道出了什么问题吗?是的,我知道我可以使用 nextInt 而不是当前接受数字的迂回方式,但我将添加一些需要以这种方式处理的额外功能。