ヌル ポインター例外が発生する理由がわかりません。ユーザーがプロンプトの後に入力する行番号を変換しようとしていますが、スペース " " カンマ "、またはカンマとスペース ", " のいずれかに区切りたいと考えています。
これが私のコードです。nums[i]=Integer.parseInt(holder[i]); で null ポインター例外が発生しています。ライン。理由がわかりません。
String again="n";
int[] nums = null;
do {
Scanner scan = new Scanner (System.in);
System.out.println("Enter a sequence of integers separated by a combination of commas or spaces: ");
String in=scan.nextLine();
String[] holder=in.split(",| |, ");
for (int i=0; i<holder.length; i++) {
nums[i]=Integer.parseInt(holder[i]);
System.out.print(nums[i]);
}
}
while (again=="y");
わかりました皆さんありがとうございます。受け入れられた回答で提案されているように、nums配列の長さをホルダー配列の長さに初期化することで機能しました。このような:
int[] nums = new int[holder.length];
私の正規表現が失敗しているように見えるので、2番目の質問があります.
これが私のエラーです:
Enter a sequence of integers separated by a combination of commas or spaces:
1, 2, 3
Exception in thread "main" 1java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at SortComparison.main(SortComparison.java:20)