2

数値を合計できるように、このファイルのデータから文字を削除するにはどうすればよいですか?

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 は削除されません。

4

7 に答える 7

0

もちろん、パラメーターとして "," を指定して split メソッドを使用することもできますが、それだけではありません。

秘訣は、各テキスト ファイルの行を ArrayList に入れることです。それができたら、疑似コードを進めます。

1) テキスト ファイルの各行を ArrayList 内に配置する 2) 各行について、「,」を使用して配列に分割する 3) 配列のサイズが 1 より大きい場合は、合計する数値があることを意味し、それ以外の場合のみ名前は配列にあり、次の行に進む必要があります 4) したがって、サイズが 1 より大きい場合、Split 関数によって生成されたこの String[] 配列内の文字列を 1 から < サイズまで反復処理します (これにより、名前文字列自体)

5) Integer.parseInt( iterated number as String ) を使用して合計する

どうぞ

数値形式の例外は、文字列が数値ではない場合に発生しますが、各行を ArrayList に入れて名前を除外しているため、問題はありません:)

于 2013-05-10T05:35:17.777 に答える
0

文字列の形式が固定されているとします。

        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);
于 2013-05-10T07:14:43.157 に答える