试题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);
}
}
浙公网安备 33010602011771号