返回题解分享
讨论 / 题解分享/ 帖子详情

时间显示(编程题) - 题解

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner inputScanner = new Scanner(System.in);
        String s = inputScanner.next();
        
        // 将输入的字符串转换为 BigInteger
        BigInteger bigInteger = new BigInteger(s);
        
        // 每小时、每分钟、每秒的毫秒数
        BigInteger shi = new BigInteger("3600000");  // 1小时 = 3600000毫秒
        BigInteger fen = new BigInteger("60000");    // 1分钟 = 60000毫秒
        BigInteger miao = new BigInteger("1000");    // 1秒 = 1000毫秒

        // 计算小时数
        BigInteger hours = bigInteger.divide(shi);
        BigInteger hourss = hours.remainder(new BigInteger("24"));
        // 计算剩余的毫秒数
        BigInteger remainingMillisAfterHours = bigInteger.remainder(shi);

        // 计算分钟数
        BigInteger minutes = remainingMillisAfterHours.divide(fen);
        
        // 计算剩余的毫秒数
        BigInteger remainingMillisAfterMinutes = remainingMillisAfterHours.remainder(fen);
        
        // 计算秒数
        BigInteger seconds = remainingMillisAfterMinutes.divide(miao);
        
        // 输出结果
        System.out.printf("%02d", hourss);   // 打印小时,格式化为两位数
        System.out.print(":");
        System.out.printf("%02d", minutes); // 打印分钟,格式化为两位数
        System.out.print(":");
        System.out.printf("%02d", seconds); // 打印秒,格式化为两位数
    }
}
0 回复 0 转发 0 喜欢 3 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!