数値を合計できるように、このファイルのデータから文字を削除するにはどうすればよいですか?
Alice Jones,80,90,100,95,75,85,90,100,90,92
Bob Manfred,98,89,87,89,9,98,7,89,98,78
これを行いたいので、すべての行ですべての文字が削除されますが、int は削除されません。
もちろん、パラメーターとして "," を指定して split メソッドを使用することもできますが、それだけではありません。
秘訣は、各テキスト ファイルの行を ArrayList に入れることです。それができたら、疑似コードを進めます。
1) テキスト ファイルの各行を ArrayList 内に配置する 2) 各行について、「,」を使用して配列に分割する 3) 配列のサイズが 1 より大きい場合は、合計する数値があることを意味し、それ以外の場合のみ名前は配列にあり、次の行に進む必要があります 4) したがって、サイズが 1 より大きい場合、Split 関数によって生成されたこの String[] 配列内の文字列を 1 から < サイズまで反復処理します (これにより、名前文字列自体)
5) Integer.parseInt( iterated number as String ) を使用して合計する
どうぞ
数値形式の例外は、文字列が数値ではない場合に発生しますが、各行を ArrayList に入れて名前を除外しているため、問題はありません:)
文字列の形式が固定されているとします。
String s = "Alice Jones,80,90,100,95,75,85,90,100,90,92";
最初は文字を削除します
Matcher matcher = Pattern.compile("(\\d+,)+\\d+").matcher(s);
int sum = 0;
コンマで区切られた整数の文字列を取得した後、それらを文字列の配列に分割し、それを整数値に解析して整数を合計します。
if (matcher.find()){
for (String ele: matcher.group(0).split(",")){
sum+= Integer.parseInt(ele);
}
}
System.out.println(sum);