Java优雅实现分钟数格式化:3天2小时或2小时15分
以下是一个实现将分钟数格式化成'X天X小时'或'X小时X分钟'格式的Java代码:
public class TimeFormatter {
public static String formatMinutes(int minutes) {
if (minutes < 0) {
throw new IllegalArgumentException("Minutes must be a positive integer");
}
int days = minutes / (24 * 60);
int hours = (minutes % (24 * 60)) / 60;
int remainingMinutes = minutes % 60;
StringBuilder formattedTime = new StringBuilder();
if (days > 0) {
formattedTime.append(days).append("天 ");
}
if (hours > 0) {
formattedTime.append(hours).append("小时");
}
if (formattedTime.length() == 0) {
formattedTime.append("0小时");
}
if (remainingMinutes > 0) {
formattedTime.append(remainingMinutes).append("分");
}
return formattedTime.toString();
}
public static void main(String[] args) {
System.out.println(formatMinutes(4320)); // 输出:3天
System.out.println(formatMinutes(305)); // 输出:5小时5分
System.out.println(formatMinutes(0)); // 输出:0小时
}
}
这个formatMinutes方法接受一个正整数分钟数作为参数,然后根据分钟数计算出对应的天数、小时数和剩余分钟数。根据题目要求,只输出两种最大的单位,所以在代码中进行相应判断和拼接。如果分钟数小于0,会抛出IllegalArgumentException异常。
在main方法中,我们可以看到一些使用示例,输出结果符合题目要求。
原文地址: https://www.cveoy.top/t/topic/o2lV 著作权归作者所有。请勿转载和采集!