我正在用 Java 为一家餐厅制作在线预订系统。我想知道是否预订了一张桌子。我想出了这个代码。
我不确定如何实现这个逻辑。
public class Services {
public void reserveTable(String tableSize ,int time_limit){
String starting_time = "11:00 am";
String ending_time = "1:00 pm";
String current_time = "12:00 pm"; //time at which new order arrived
boolean reserved = false
for (String start = "11:00 am"; start <= ending_time; start ++){
if (current_time == start){
reserved = true;
}
}
}
}
您可以使用 aDateTimeFormatter
将您的时间字符串解析为LocalTime
s,然后检查是否current
在start
和之间end
:
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendPattern("h:mm a")
.toFormatter(Locale.ENGLISH);
LocalTime start = LocalTime.parse("11:00 am", formatter);
LocalTime end = LocalTime.parse("1:00 pm", formatter);
LocalTime current = LocalTime.parse("12:00 pm", formatter);
boolean reserved = false;
if (current.isAfter(start) && current.isBefore(end)) {
reserved = true;
}
请注意,如果开始和结束跨越午夜,这将不起作用。例如start
是晚上 11 点和end
凌晨 2 点。current
凌晨 1 点的A不会导致reserved
设置为 true。要使这种情况起作用,您需要约会。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句