package com.itheima;
/**
* 第二题:从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:
* 键盘输入6,打印6秒;
* 键盘输入60,打印1分;
* 键盘输入66,打印1分6秒;
* 键盘输入666,打印11分6秒;
* 键盘输入3601,打印1小时1秒
* @author Administrator
*/
import java.io.*;
class Test2
{
public static void main(String[] args) throws Exception
{
PrintTime();
}
public static void PrintTime()
{
//定义时间变量
int day = 0,hours = 0,minute = 0,second = 0;
//建立一个输入流缓冲区
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一个数:");
try
{
//读取键盘输入的数字
String str = br.readLine();
int num = Integer.parseInt(str);
//计算天数
day=num/86400;
//计算小时
hours=(num%86400)/3600;
//计算分钟
minute=((num%86400)%3600)/60;
//计算秒数
second=((num%86400)%3600)%60;
//按要求打印时间
print(day,hours,minute,second);
}
//输入流失败异常处理
catch (IOException e)
{
System.out.println("输入失败!");
}
//输入流读取错误数据异常处理
catch (NumberFormatException e)
{
System.out.println("数据输入有误!");
}
finally
{
try
{
br.close();
}
catch (IOException e)
{
System.out.println("流关闭失败");
}
}
}
//用于打印时间的函数
public static void print(int day,int hours,int minute,int second)
{
if(day!=0) System.out.print(day+"天");
if(hours!=0) System.out.print(hours+"时");
if(minute!=0) System.out.print(minute+"分");
if(second!=0) System.out.print(second+"秒");
}
} |
|