public class Test4 {
public static void main(String[] args) {
int second,minute,hour,day;
Scanner in = new Scanner(System.in);
int time;
//循环读键盘输入的一个整数
System.out.print("请输入一个整数(0表示退出):");
while((time = in.nextInt()) != 0) {
if(time < 60) {
second = time;
System.out.println(second+"秒");
}
else if(time>=60 && time < 3600) {
minute = time/60;
second = time%60;
System.out.println(minute+"分"+second+"秒");
}
else if(time>=3600 && time < 216000) {
hour = time/3600;
minute = (time%3600)/60;
second = time%60;
System.out.println(hour+"时"+minute+"分"+second+"秒");
}
else if(time >= 216000)
{
day = time/216000;
hour = (time%216000)/3600;
minute = (time%3600)/60;
second = time%60;
System.out.println(day+"天"+hour+"时"+minute+"分"+second+"秒");
}
else {
System.out.println("输入数据有误,请输入整数");
}
}
}
} 作者: ly631960324 时间: 2015-11-10 23:14 本帖最后由 ly631960324 于 2015-11-10 23:19 编辑
简单易懂,思路清晰
import java.util.Scanner;
class Test4
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int time = sc.nextInt();
function(time);
}
//构建转换方法 //运用函数的递归方法
/*
1 day = 86400 s
1 hour = 3600 s
1 min = 60 s
*/
public static void function(int x)
{
//判断:如果时间内含有天数,则计算出天数
if (x >= 86400)
{
int day = x / 86400;
x = x % 86400;
//判断:如果时间内含有小时数,则计算出小时数
else if (x >= 3600)
{
int hour = x / 3600;
x = x % 3600;
//有小时数,即输出;没有小时数不输出
if (hour > 0)
{
System.out.print(hour + "小时");
}
function(x);
}
//判断:如果时间内含有分钟数,则计算出分钟数
else if (x >= 60)
{
int min = x / 60;
x = x % 60;
////有分钟数,即输出;没有分钟数不输出
if (min > 0)
{
System.out.print(min + "分");
}
function(x);
}
//计算秒数
else if (x >= 0)
{
int s = x ;
//有秒数,即输出
if (s > 0)
{
System.out.print(s + "秒");
}
}
System.out.println();
}
}