`Math.ceil()` 函数是Java中的一个数学函数,用于向上取整。它接受一个 double 类型的参数,并返回大于或等于该参数的最小整数。
Math.ceil((double)s / v) + 10;解释
在这里,`(double)s / v` 将总距离 s 除以速度 v,产生一个 double 类型的结果,即需要的时间。然后 `Math.ceil()` 函数将这个时间向上取整到最接近的整数分钟。最后,再加上额外的 10 分钟用于垃圾分类,得到从家到学校的总时间。
import java.util.Scanner;
import java.lang.Math;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int s = sc.nextInt(); // 输入总距离
int v = sc.nextInt(); // 输入速度
// 计算从家到学校的时间(分钟),向上取整
int travelTime = (int) Math.ceil((double)s / v) + 10;
// 计算最晚出发时间(分钟)
int latestDepartureTime = 8 * 60 - travelTime;
// 将最晚出发时间转换为时和分
int hours = latestDepartureTime / 60;
int minutes = latestDepartureTime % 60;
// 格式化输出
System.out.printf("%02d:%02d", hours, minutes);
sc.close();
}
}