【发布时间】:2012-03-30 18:18:49
【问题描述】:
我收到来自智能感知的Null pointer access: The variable 'numbers' can only be null at this location 错误,代码如下。 (错误标记)
public static int isOne(int incoming){
String original = Integer.toString(incoming);
int length = original.length();
int i;
int numbers[] = null;
for(i = 0; i < length; i++){
String worker = Character.toString(original.charAt(i));
int workInt = Integer.parseInt(worker);
/* HERE */ numbers[i] = workInt;
System.out.print(i + "=" + workInt + ","); /* this line just tests it */
}
int z;
int sum = 0;
int thisNumber = 0;
for(z = 0; z < length; z++){
/* HERE */ thisNumber = numbers[z];
thisNumber = thisNumber * thisNumber;
sum = sum + thisNumber;
}
return 0;
}
运行代码时,控制台会在第一个错误时给出异常。 LogCat 什么也没提供。
Intellisense 针对这两个错误给出@suppress 的建议。
我真的不知道,但我认为可能是在我初始化“数字”的时候。
感谢您的帮助。
【问题讨论】:
-
好吧,你并没有真正初始化
numbers。您将其设置为 null,这不出所料会导致稍后出现空指针异常。