实现两个合法时间相加 | |
描述: |
给定两个合法的时间(格式固定:hh:mm:ss,时间合法,不用考虑其它情况),输入两个时间相加后的结果;注意,相加后的结果也必需是一个合法的时间; |
运行时间限制: | 无限制 |
内存限制: | 无限制 |
输入: |
时分秒格式的时间字符串,如00:00:00 |
输出: |
时分秒格式的时间字符串,如00:00:00
|
样例输入: |
00:00:00 00:00:01
|
样例输出: |
00:00:01
|
答案提示: |
建议将时间转换为秒数计算 |
直接计算
进位要注意
import java.util.*; public class Main7{ public static void main(String[] args){ Scanner in = new Scanner(System.in); while(in.hasNext()){ String[] strArr = in.nextLine().split(" "); int[] a = strToArr(strArr[0]); int[] b = strToArr(strArr[1]); String add = addTime(a,b); System.out.println(add); } in.close(); } public static int[] strToArr(String str){ String[] strA = str.split(":"); int[] a = new int[strA.length]; for(int i=0;i<strA.length;i++){ a[i] = Integer.parseInt(strA[i]); } return a; } public static String addTime(int[] a,int[] b ){ int sum = 0; String str=""; sum += a[2] + b[2]; // 秒 str = (sum%60<=9?("0"+sum%60): (sum%60) )+""; sum=sum/60; sum += a[1] + b[1]; // 分 str = (sum%60<=9?("0"+sum%60): (sum%60) )+":"+str; sum=sum/60; sum += a[0] + b[0]; // 时 str = (sum%24<=9?("0"+sum%24): (sum%24) )+":"+str; sum =sum/24; return str; } }