에 시간을 합계 :어떻게이 문자열이 자바
String times = "5:15 | 4:41 | 4:27 | 3:13 | 5:01 | 4:47 | 4:50 | 5:20"
결과가되어야한다 "37:34"는
어떻게이 자바 문자열 처리하고 예상 결과를 반환합니까?
에 시간을 합계 :어떻게이 문자열이 자바
String times = "5:15 | 4:41 | 4:27 | 3:13 | 5:01 | 4:47 | 4:50 | 5:20"
결과가되어야한다 "37:34"는
어떻게이 자바 문자열 처리하고 예상 결과를 반환합니까?
날짜 시간 변수를 작성하고이를 합산하는 것은 방법입니다,하지만 난 당신이 자바를 처음 사용하는 가정하고 몇 가지 코딩을 위해 당신을 경고하는 기본적인 대답을하고 쉬운 방법 가지 않는 :
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, ..
그래서 그에 따라 증가 for 문을 편집했다. 실행 코드 here을 확인할 수 있습니다.
이 문자열을 구문 분석하는 데 tokenizer를 사용합니다.
을 반복하고, 시간 및 분을 모든 값으로 취하고 (h + h 및 min + min)를 더합니다. 완료하면 계산 :
hours += minutes/60
minutes = minutes % 60
그게 전부 야!
나는 문자열을 구문 분석하고 분 단위로 변환합니다. 그것들을 더하고 시간과 분으로 다시 변환하십시오.
여기에 세 가지 별도의 작업이 있습니다. 문자열을 시간 관련 유형으로 파싱합니다. 상기 시간 - 관련 값들을 합산하는 단계; 결과의 형식을 지정합니다. 우리는 당신이 그 중 어느 것을 가지고 얼마나 멀리 있는지 알지 못합니다. –
시도해 보셨습니까? – partlov