ここでヌルポインタ例外が発生する理由を誰か教えてもらえますか? コードを調べたところ、それを行っている可能性のある場所は見つかりませんでした。少し困惑しています。どんな助けでも大歓迎です:D.
ちなみに、このメソッドは、指定された文字間で文字列を分割することになっています。たとえば、次のようになります。文字列を各セミコロン (分割する指定文字) で分割し、"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)
ご協力ありがとうございました!