-8

私はこの文字列を持っています:

String times = "5:15 | 4:41 | 4:27 | 3:13 | 5:01 | 4:47 | 4:50 | 5:20"

結果は「37:34」になります

これをJava文字列で処理し、期待される結果を返すにはどうすればよいですか?

4

3 に答える 3

1

この文字列を解析するには、トークナイザーを使用します。
結果を繰り返し、すべての値の時間Arrayを取り、それらを追加します(h+hとmin+min)。計算が完了したら:

hours += minutes / 60
minutes = minutes % 60

それでおしまい!

于 2013-01-12T20:00:43.947 に答える
0

DateTime変数を作成してそれらを合計することはアプローチですが、Javaを初めて使用する場合は、コーディングについて警告し、簡単な方法ではないという基本的な答えを提供すると思います。

String[] timesSplit = times.split(" | ");

int hour = 0;
int minute = 0;

for(int i = 0; i < timesSplit.length; i += 2) {
    String[] time = timesSplit[i].split(":");
    hour += Integer.parseInt(time[0]);
    minute += Integer.parseInt(time[1]);
}

hour += minute / 60;
minute %= 60;

String result = hour + ":" + minute;

編集:奇妙な振る舞い、「|」の結果の分割次のような文字列配列:

5:33, |, 1:32, ..

したがって、それに応じてforincrementステートメントを編集しました。ここで実行中のコードを確認できます。

于 2013-01-12T20:01:40.260 に答える
0

文字列を解析し、すべてを分に変換します。それらを追加して、時間と分に戻すよりも。

于 2013-01-12T20:05:08.750 に答える