我在一个方法中遇到了问题。请注意,我正在大学学习Java,所以可能对简单的东西不是很熟悉。下面是一个用于添加表达式的方法。我遇到的问题在于x = x.substring.(1, x.length() - 1);
,我得到了一个异常,内容如下:
Exception in thread "main" java.lang.NullPointerException
我不知道那是什么意思以及如何修复。如果你能指点我正确的方向,那就太好了。 谢谢。
public static int adder(String x){
int total = 0;
x = x.substring(1, x.length() - 1);
sopln(x);
String[] nums = x.split("\\+");
for(int i = 0; i < nums.length; ++i){
if(nums[i].charAt(0) == ' ' || nums[i].charAt(nums[i].length()-1) == ' '){
sopln("ERROR: Excess whitespace identified.");
nums[i] = nums[i].trim();
}
nums[i] = nums[i].replaceAll(" ", "");
if(nums[i].charAt(0) == '-')
total -= Integer.parseInt(nums[i]);
else
total += Integer.parseInt(nums[i]);
}
return total;
}
x=x.substring.(1,x.length() - 1);
,所以应该是x
是null
...x
被作为参数传递,那么你是如何调用adder
的??? - olydisString
等于"",那么会有问题,因为你从子字符串的第1个字符开始,一直到.length() - 1,这将等于-1。 - Michael Yaworski