谁能告诉我为什么我在这里得到一个空指针异常?我检查了代码并没有找到任何可能这样做的地方,我有点难过。任何帮助将不胜感激:D。
顺便说一句,该方法应该在指定字符之间拆分字符串,例如: substringChars("sectionA; sectionB; sectionC;", ';'); 将在每个分号之间分割字符串(要分割的指定字符)并返回一个字符串数组,其中包含“sectionA”、“sectonB”和“sectionC”
代码:
package substringChars;
public class SubstringChars {
public static void main(String[] args) {
substringChars("sectionA; sectionB; sectionC;", ';'); //There is an error on this line
System.out.println(SubstringChars.output[0] + SubstringChars.output[1] + SubstringChars.output[2]);
}
public static String[] output;
public static void substringChars(String iString, char sChar) {
int pChar = 0, outputSlot = 0;
char selectedChar;
for(int i = 0; i <= iString.length(); i++) {
selectedChar = iString.charAt(i);
if(selectedChar == sChar) {
if(i != iString.length()) {
SubstringChars.output[outputSlot] = (iString.substring(pChar, i)); //There is an error on this line
}
if(i == iString.length()) {
SubstringChars.output[outputSlot] = (String)(iString.substring(pChar));
}
pChar = i;
outputSlot++;
}
}
}
}
错误:
Exception in thread "main" java.lang.NullPointerException
at substringChars.SubstringChars.substringChars(SubstringChars.java:16)
at substringChars.SubstringChars.main(SubstringChars.java:5)
谢谢您的帮助!