黑马程序员技术交流社区
标题:
* 1、 从键盘接受一个数字,打印该数字表示的时间,请指教。。。。
[打印本页]
作者:
mars314
时间:
2015-9-23 20:11
标题:
* 1、 从键盘接受一个数字,打印该数字表示的时间,请指教。。。。
package com.itheima;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* 1、 从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:
* 键盘输入6,打印6秒;
* 键盘输入60,打印1分;
* 键盘输入66,打印1分6秒;
* 键盘输入666,打印11分6秒;
* 键盘输入3601,打印1小时1秒
* @author mars
*/
public class Test1
{
public static void main(String[] args)
{
//提示输入数字
System.out.println("请输入一个数字:");
//读取键盘
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
String str = null;
try {
//读取一行
while((str=bufr.readLine()) != null)
{
//是否为数字
if(isInt(str))
{
int value = Integer.parseInt(str);//字符串转为整数
if(value==0)
System.out.println("0秒");
else
MyTimePrint(value);
}
}
}
catch (NumberFormatException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
//判断是否为数字符串
public static boolean isInt(String str)
{
//字符串变为字符数组进行判断
char[] arr = str.toCharArray();
for (int x=0; x<arr.length; x++ )
{
if((arr[x]>='0') && (arr[x]<='9'))
{}
else
{
System.out.println("输入格式有误,请重新输入:");
return false;
}
}
return true;
}
//输出天时分秒
public static void MyTimePrint(int i)
{
int dd = i/24/60/60; //天
int hh = (i-dd*24*60*60)/60/60;//时
int mm = (i-dd*24*60*60-hh*60*60)/60;//分
int ss = i-dd*24*60*60-hh*60*60-mm*60;//秒
if(dd != 0)
System.out.print(dd+"天");
if(hh != 0)
System.out.print(hh+"时");
if(mm != 0)
System.out.print(mm+"分");
if(ss != 0)
System.out.print(ss+"秒");
System.out.println();
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2