入力がスキャナを通過しました。それは数字と文字とスペースの両方を持っています。テキストがスローされたときの入力から合計を計算しようとしています
文字が削除され、スペースと数字のみが残ります。
スペースなしI入力は、それが正常に動作しますが、私は、スペースを追加する場合、それはエラーをスローした場合:
java.lang.NumberFormatException: For input string: "" (in java.lang.NumberFormatException)
これはライン
int型dataInt = Integer.parseInt(データに対して適用されます[私]);
Stderr outputs java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:592) at java.lang.Integer.parseInt(Integer.java:615) at Program2.main(Program2.java:21)
コードは
import java.util.*;
import java.io.*;
public class Program2 {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
String input = kb.nextLine();
input = input.replaceAll("[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]","");
System.out.println(input);
while(!input.equals("#")){
String[] data = input.split(" ");
int sum = 0;
if (!input.equals("")){
for(int i = 0; i < data.length; i++){
int dataInt = Integer.parseInt(data[i]);
sum = sum + dataInt;
}
}
System.out.println(sum);
input = kb.nextLine();
}
} //main
} // class Program2
"\\のS +" ''に分割、又は '呼び出しデータ[I] .trim()' 'Integer.parseInt' –
PSST適用する前に:' [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ] '==' [-ZAを-Z] 'となります。 Regexは私を殺します。 – Pshemo
Thx @Pshemo –