用java语言实现一个算法,该算法描述为:小红在app上点外卖,已知小红在t1点外卖,app上显示预计发送到达时间为t2,实际发送到达时间为t3,请您确定外卖是否超时?输入描述:第一行输入一个正整数t,代表询问次数。接下来的3*t行,每3行代表一次询问:第一行点外卖的时刻t1(如23:12) ),第二个预期交付次数达到时间t2(如23:48),第一个第三行为实际交付次数达到时间t3(23:50)。保证起始交付外卖的运行时间与实际运行时间均不超过2小时,1≤t≤100 ,且这里的时间为24小时制作。 描述输
您可以使用以下Java代码实现该算法:
```java
import java.util.Scanner;
public class DeliveryTime {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int t = scanner.nextInt(); // 询问次数
for (int i = 0; i < t; i++) {
String t1 = scanner.next(); // 点外卖的时刻
String t2 = scanner.next(); // 预期交付次数达到时间
String t3 = scanner.next(); // 实际交付次数达到时间
// 将时间字符串转换为分钟数
int minutesT1 = convertToMinutes(t1);
int minutesT2 = convertToMinutes(t2);
int minutesT3 = convertToMinutes(t3);
// 判断外卖是否超时
if (minutesT3 - minutesT1 > minutesT2 - minutesT1) {
System.out.println("超时");
} else {
System.out.println("未超时");
}
}
}
// 将时间字符串转换为分钟数
private static int convertToMinutes(String time) {
String[] parts = time.split(":");
int hours = Integer.parseInt(parts[0]);
int minutes = Integer.parseInt(parts[1]);
return hours * 60 + minutes;
}
}
```
您可以将上述代码保存为`DeliveryTime.java`文件,并使用Java编译器进行编译和运行。在运行时,您需要按照输入描述的格式输入数据。程序将根据输入的数据判断外卖是否超时,并输出结果。
创作工场
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!