【发布时间】:2013-11-17 19:30:46
【问题描述】:
for(int i=0;i<n;i++){
for(int j=0;j<26;j++){
if(str.charAt(i)== strChar.charAt(j) )
* strSet1.append(str.charAt(i));
}
* strSet2.append(str.charAt(i));
}
例外:
Exception in thread "main" java.lang.NullPointerException
at AterSeries.main(AterSeries.java:33)
为什么这段代码会出现空指针异常
警告:空指针访问:变量 strSet1 在此位置只能为空 空指针访问:变量strSet2在该位置只能为空
【问题讨论】:
-
请提供完整的警告信息,并标出出现的行。
-
这意味着您的
str字符串的长度小于 n 或 26 -
我认为您的内部循环条件不正确。你的字符串长度是多少?
-
@TusharGupta:在这种情况下,它会抛出
IndexOutOfBoundsException。例如,当您在空对象上调用方法时,会抛出NPE。 -
str 是输入的 n,strChar 是 26 个字母
标签: java nullpointerexception stringbuffer