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("你输入了一个负数");
}
}
}
从键盘接受一个数字,打印该数字表示的时间,最大单位到天
最新推荐文章于 2022-02-27 14:26:52 发布