私はこの文字列を持っています:
String times = "5:15 | 4:41 | 4:27 | 3:13 | 5:01 | 4:47 | 4:50 | 5:20"
結果は「37:34」になります
これをJava文字列で処理し、期待される結果を返すにはどうすればよいですか?
私はこの文字列を持っています:
String times = "5:15 | 4:41 | 4:27 | 3:13 | 5:01 | 4:47 | 4:50 | 5:20"
結果は「37:34」になります
これをJava文字列で処理し、期待される結果を返すにはどうすればよいですか?
この文字列を解析するには、トークナイザーを使用します。
結果を繰り返し、すべての値の時間と分Array
を取り、それらを追加します(h+hとmin+min)。計算が完了したら:
hours += minutes / 60
minutes = minutes % 60
それでおしまい!
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ステートメントを編集しました。ここで実行中のコードを確認できます。
文字列を解析し、すべてを分に変換します。それらを追加して、時間と分に戻すよりも。