小红在饿了么上面点了一个外卖,饥肠辘辘的她等骑手等得望眼欲穿。 已知小红在时刻点了外卖,饿了么上面显示预计送达时间为,实际送达时间为。请你判断外卖是否超时?
区块链毕设网qklbishe.com为您提供问题的解答
小红在饿了么上面点了一个外卖,饥肠辘辘的她等骑手等得望眼欲穿。
已知小红在时刻点了外卖,饿了么上面显示预计送达时间为
,实际送达时间为
。请你判断外卖是否超时?
整体思想很简单,但是涉及到时间的计算和00:00的处理。使用Java提供的一些时间操作的API,得到外卖到达时间与下单时间的差值和预估时间与下单时间的差值,进行比较即可。注意00:00的处理,计算差值时,如果是小于0的值,则说明到了第二天了(题目说了不会超过两个小时),因此加上24*60算出真实的差值。
import java.util.Scanner; import java.time.LocalTime; import java.time.Duration; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int t = in.nextInt(); // 注意 hasNext 和 hasNextLine 的区别 while (t-->0) { // 注意 while 处理多个 case String orderTimeStr = in.next(); LocalTime orderTime = LocalTime.parse(orderTimeStr); String futureTimeStr = in.next(); LocalTime futureTime = LocalTime.parse(futureTimeStr); String curTimeStr = in.next(); LocalTime curTime = LocalTime.parse(curTimeStr); int compare = curTime.compareTo(futureTime); Duration duration = Duration.between(orderTime, futureTime); Duration duration2 = Duration.between(orderTime, curTime); long minutesDifference = duration.toMinutes(); long minutesDifference2 = duration2.toMinutes(); if(minutesDifference<0){ minutesDifference = minutesDifference+24*60; } if(minutesDifference2<0){ minutesDifference2=minutesDifference2+24*60; } if (minutesDifference < minutesDifference2) { System.out.println("Yes"); } else { System.out.println("No"); } } } }
编辑于 今天 15:20:22
以上就是关于问题小红在饿了么上面点了一个外卖,饥肠辘辘的她等骑手等得望眼欲穿。
已知小红在时刻点了外卖,饿了么上面显示预计送达时间为,实际送达时间为。请你判断外卖是否超时?的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训