黑马程序员技术交流社区
标题:
键盘接受一个数字,打印该数字表示的时间,最大单位...
[打印本页]
作者:
g552092947
时间:
2015-6-20 11:20
标题:
键盘接受一个数字,打印该数字表示的时间,最大单位...
做了一个小程序,但是觉得有点麻烦,大神们有没有简单的方法啊
public class PrintTime {
/**
* 从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:
键盘输入6,打印6秒;
键盘输入60,打印1分;
键盘输入66,打印1分6秒;
键盘输入666,打印11分6秒;
键盘输入3601,打印1小时1秒
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
String string=in.nextLine();
int time=Integer.parseInt((string));
if(time>=0&&time<60)
{
System.out.println("打印"+time+"秒");
}else if(time>=60&&time<3600){
System.out.println("打印"+time/60+"分"+time%60+"秒");
}else if(time>=3600&&time<86400){
int min=time%3600;
int sec=0;
sec=min%60;
min=min/60;
System.out.println("打印"+time/3600+"小时"+min+"分"+sec+"秒");
}else if(time>=86400){
int hou=time%86400;
int min=0,sec=0;
min=hou%3600;
sec=min%60;
min=min/60;
hou=hou/3600;
System.out.println("打印"+time/86400+"天"+hou+"小时"+min+"分"+sec+"秒");
}
else {
System.out.println("输入有误~");
}
}
}
复制代码
作者:
971360836
时间:
2015-6-20 14:53
只能这样了
作者:
JJJD
时间:
2015-6-20 16:04
这是我做的,交流一下:
import java.util.*;
public class PrintTime {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入您要计算的秒数:");
int sec=sc.nextInt();
int day=0,hour=0,min=0;
if(sec>=0&&sec<60)
{
System.out.println(sec+"秒");
}
if(sec>=60&&sec<3600)
{
min=sec/60;
sec=sec%60;
System.out.println(min+"分"+sec+"秒");
}
if(sec>=3600&&sec<86400)
{
hour=sec/3600;
min=sec%3600/60;
sec=sec%3600%60;
System.out.println(hour+"小时"+min+"分"+sec+"秒");
}
if(sec>=86400)
{
day=sec/86400;
hour=sec%86400/3600;
min=sec%86400%3600/60;
sec=sec%86400%3600%60;
System.out.println(day+"天"+hour+"小时"+min+"分"+sec+"秒");
}
sc.close();
}
}
复制代码
作者:
fyg408224345
时间:
2015-6-20 16:16
围观中。。。。。。。。看看你们写的代码
作者:
g552092947
时间:
2015-6-20 16:20
JJJD 发表于 2015-6-20 16:04
这是我做的,交流一下:
比我的好啊
作者:
heima591046495
时间:
2015-6-20 19:40
看不懂,,你的注释呢,,,加注释是个好习惯
作者:
guiqulaixi
时间:
2015-6-20 19:45
public class Test1 {
public static void main(String[] args)
{
//获取键盘录入对象
Scanner in = new Scanner(System.in);
System.out.println("please enter a number (-1 to stop):");
int num=0;
try
{
//循环录入 当用户输入-1后循环终止
while((num=in.nextInt())!= -1)
{
//求出秒数以及总共有多少分钟
int seconds = num%60;
num = num/60;
//求出分钟数以及总共有多少小时
int minutes = num%60;
num = num/60;
//求出小时数以及总共有多少天
int hours = num%24;
num = num/24;
int days = num;
showTime(seconds,minutes,hours,days);
}
}
catch(Exception e)
{
System.out.println("输入数据的格式错误");
}
}
//显示时间
private static void showTime(int...arr)
{
String[] strs = new String[]{"秒","分","时","天"};
//建立缓冲区存放表示时间的字符串
StringBuilder sb = new StringBuilder();
for(int i=0;i<arr.length;i++)
{
//若a[i]不为0则将会打印相应值以及对应单位
sb.insert(0,(arr[i]!=0 ? arr[i]+strs[i]:""));
}
System.out.println(sb.toString());
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2