如何解决这个问题?java作业
我有作业
这是我的问题
我的代码是
public class DisplayTime {
public static void main(String[] args) {
int seconds = 290;
int hour = seconds/60/60;
int minute = seconds/60;
seconds = seconds%60;
System.out.printf("The amount of [ 290 ] seconds are %02d:%02d:%02d\n",hour,minute,seconds);
seconds = 7650;
hour = seconds/60/60;
minute = seconds/60;
seconds = seconds%60;
System.out.printf("The amount of [ 7650 ] seconds are %02d:%02d:%02d\n",hour,minute,seconds);
}
}
我在7650中的输出不一样为什么(
我的解决方案是真的吗
# 1 楼答案
像专业人士那样做:
# 2 楼答案
这是因为你没有在几分钟内减去小时,所以时间是双重计算的。也就是说,使用
minute = seconds / 60 - hour * 60;
而不是minute = seconds / 60;
您将得到正确的结果实际上,对于第一部分(
The amount of [ 290 ] seconds are 00:04:50
),您还应该修改代码。它看起来不错的原因是因为290秒不到一小时,所以问题没有出现以下是完整代码:
结果如下:
# 3 楼答案
正如@Balwinder在他的评论中提到的,您最好有一个helper方法,它接受秒数并打印出格式化的显示时间。下面的代码只需几行就可以完成这一点
输出: