从键盘接受一个数字,打印该数字表示的时间,最大单位到天

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Scanner;        
/** 
 *第二题:从键盘接受一个数字,打印该数字表示的时间,最大单位到天
 *例如:
 *键盘输入6,打印6秒
 *键盘输入60,打印1分
 *键盘输入66,打印1分6秒
 *键盘输入666,打印11分6秒
 *键盘输入3601,打印1小时1秒
 */


public class SecondToTime 
{
    // 定义一些常量,单位是秒
    public static final int DAY = 86400;
    public static final int HOUR = 3600;
    public static final int MINUTE = 60;

    public static void main(String[] args) throws IOException { 
        Scanner sss = new Scanner(System.in);  
        System.out.print("请输入秒数: ");  
        int num, seconds, minutes, hours, days;  
        num = sss.nextInt();  
        System.out.print("键盘输入"+num+".......打印:");  

        if(num > 0)
        {
            // 直接计算相应的天、时、分、秒。不足1分钟的,minutes就等于0;不足1小时的,hours就等于0
            // 不足1天的,days就等于0
            days = num / DAY;
            hours = (num % DAY) / HOUR;
            minutes = (num % HOUR) / MINUTE;
            seconds = num % MINUTE;

            String result;
            // 结果字符串。等于0的部分就不打印
            result = (days > 0 ? String.valueOf(days) + "天" : "") + 
                (hours > 0 ? String.valueOf(hours) + "小时" : "") +
                (minutes > 0 ? String.valueOf(minutes) + "分" : "") +
                (seconds > 0 ? String.valueOf(seconds) + "秒" : "");

            System.out.println(result);
            
        }
        else if (num == 0)
            System.out.println("0秒");
        else
        {
              System.out.println();
              System.out.println("你输入了一个负数");  
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值