以下是一个实现将分钟数格式化成'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方法中,我们可以看到一些使用示例,输出结果符合题目要求。

Java优雅实现分钟数格式化:3天2小时或2小时15分

原文地址: https://www.cveoy.top/t/topic/o2lV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录