必须将开始时间和结束时间分成相等的间隔。
E.g。
开始时间:上午10点, 结束时间 14PM, 分段时间: 30分钟
输出必须是这样的 -
:::: 输出 :::
[{时间:" 10:00"},{时间:" 10:30"},{时间:" 11:00"},{时间:" 11:30"},{时间:" 12:00"},{时间:" 12:30"},{时间:&#34 ; 13:00"},{时间:" 13:30"},{时间:" 14:00"}]
提前感谢大家。
答案 0 :(得分:2)
首先,将小时数转换为分钟数。
10AM = 10 * 60 minutes
2PM or 14h = 14 * 60 minutes
然后,为了将分钟转换回几小时:
minutes / 60 gives the number of hours
minutes % 60 gives the number of the minutes in the last hour.
如果您希望始终显示2位数的小时/分钟,并最终填充前导零,请使用:
String result = String.format("%02d", minutes/60);
(2
表示您需要2个数字,而0
表示您使用零填充)
也就是说,有两种方式从10*60
转到14*60
,步骤为30 minutes
:
最直观的:while循环
public static void interval(int begin, int end, int interval) {
int time = begin;
while (time <= end) {
System.out.println(String.format("%02d:%02d", time / 60, time % 60));
time += interval;
}
}
但我不喜欢while
循环。如果你做错了(或输入数据错误),它会以无限循环结束。
另一种方式:如您所知,开始,结束和步骤,请使用for
循环:
public static void interval2(int begin, int end, int interval) {
for (int time = begin; time <= end; time += interval) {
System.out.println(String.format("%02d:%02d", time / 60, time % 60));
}
}
测试:
interval2(10 * 60, 14 * 60, 30);
结果:
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00