这是我的代码,但它不会停止循环,直到我的结束输入时间它继续循环,我只想循环它直到我以 12 小时格式结束输入时间。我怎样才能做到这一点?package javaapplication;import java.time.LocalTime;import java.text.ParseException;public class JavaApplication { public static void main(String[] args) throws ParseException { String time1 = "09:00"; //my first input time String timeEnds = "4:00"; //my second input time LocalTime timeStart = LocalTime.parse(time1); while(time1!=timeEnds) { timeStart = timeStart.plusMinutes(30); System.out.println(""+timeStart); } }}
1 回答
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
请注意,"4:00"就本地时间而言,这不是有效的格式LocalTime.parse(CharSequence)。你应该使用"04:00".
这里使用的一个技巧是首先检查结束时间是否在开始时间之前。如果是,则结束时间与开始时间在一天的不同一半。在这种情况下,我们将 12 小时添加到结束时间。
打印时间时,我们使用自定义格式hh:mm。小写字母的h意思是“12 小时制的小时”。
String time1 = "09:00"; //my first input time
String timeEnds = "04:00"; //my second input time
LocalTime timeStart = LocalTime.parse(time1);
LocalTime timeEnd = LocalTime.parse(timeEnds);
if (timeStart.isAfter(timeEnd)) {
timeEnd = timeEnd.plusHours(12);
}
while(timeStart.isBefore(timeEnd)) {
timeStart = timeStart.plusMinutes(30);
System.out.println(timeStart.format(DateTimeFormatter.ofPattern("hh:mm")));
}
添加回答
举报
0/150
提交
取消