用java语言实现一个算法,该算法描述为:小红在app上点外卖,已知小红在t1点外卖,app上显示预计发送到达时间为t2,实际发送到达时间为t3,请您确定外卖是否超时?输入描述:第一行输入一个正整数t
您可以使用以下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编译器进行编译和运行。在运行时,您需要按照输入描述的格式输入数据。程序将根据输入的数据判断外卖是否超时,并输出结果。
```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编译器进行编译和运行。在运行时,您需要按照输入描述的格式输入数据。程序将根据输入的数据判断外卖是否超时,并输出结果。