/*
3、 从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:
键盘输入6,打印6秒;
键盘输入60,打印1分;
键盘输入66,打印1分6秒;
键盘输入666,打印11分6秒;
键盘输入3601,打印1小时1秒
*/ 不知道有没有更简单的方法。。。目测现在才学完函数。。。。
import java.util.*;
class Test
{
public static final int SECOND_MINUTE=60; //一分钟的秒数
public static final int SECOND_HOUR=3600; //一小时的秒数
public static final int SECOND_DAY=86400; // 一天的秒数
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
sop("请输入一个数字:");
int time=sc.nextInt();
sop(style(time));
}
public static void sop(String str)
{
System.out.println(str);
}
//总体函数
public static String style(int time)
{
String str;
if (time>=0&&time<SECOND_MINUTE)
{
str=time+"秒";
}
else if (time>=SECOND_MINUTE&&time<SECOND_HOUR)
{
str=styleMinute(time); //当在这个范围的时候,就调用分钟格式!
}
else if (time>=SECOND_HOUR&&time<SECOND_DAY)
{
str=styleHour(time); //当time的值在这个范围的时候就调用小时的格式!
}
else if (time>=SECOND_DAY)
{
str=styleDay(time); //当time 的值大于SECOND_DAY的时候,就开始调用天的格式!
}
else
{
str="超过规定数值,无法计算!";
}
return str;
}
//分钟格式!
public static String styleMinute(int time)
{
int minute,second;
minute=time/SECOND_MINUTE;
second=time%SECOND_MINUTE;
if (second==0)
{
return second+"秒";
}
else
{
return minute+"分"+second+"秒";
}
}
//小时的格式!
public static String styleHour(int time)
{
int hour,second;
second=time%SECOND_HOUR;
hour=time/SECOND_HOUR;
if (second==0)
{
return hour+"小时";
}
else
{
return hour+"小时"+style(second);
}
}
//天的格式!
public static String styleDay(int time)
{
int day,hour,minute,second;
second=time%SECOND_DAY;
day=time/SECOND_DAY;
if (second==0)
{
return day+"天";
}
else
{
return day+"天"+style(second);
}
}
}
|