试题F:时间显示

题目

题目重点

刚开始看会因为年份计算而头疼,因为年分为闰年和平年,这样会给计算带来很多的复杂性。
但是题目中提示“不用显示出年月日”,暗示了不用关注年份计算的复杂性,此时只用以“天”为单位进行计算。
1s=1000ms
1min=60s
1hour=60min
注意:输入不能超过10^18,要小心int越界,可以考虑用更大的变量类型,这里用长整形long,8字节,64位,用windows自带的计算器计算一下最大长度,完全符合题目要求。
出现计算公式没思路可以用计算器简单的算一下!

用到的东西:
java 基本类型的长度
java IO
printf格式化输出

代码

package twelve;

import java.util.Scanner;

public class F {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		long time = in.nextLong();
		long hour = time/(1000*60*60)%24;
		long min = time/(1000*60)%60;
		long sec = time/(1000)%60;
		System.out.printf("%02d:%02d:%02d",hour,min,sec);
	}
}

posted @ 2022-01-17 22:35  猪猪猪猪侠  阅读(86)  评论(0编辑  收藏  举报