A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

做了一个小程序,但是觉得有点麻烦,大神们有没有简单的方法啊
  1. public class PrintTime {
  2.         /**
  3.          * 从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:
  4.                            键盘输入6,打印6秒;
  5.                            键盘输入60,打印1分;
  6.                            键盘输入66,打印1分6秒;
  7.                            键盘输入666,打印11分6秒;
  8.                            键盘输入3601,打印1小时1秒
  9.          * @param args
  10.          */       
  11.         public static void main(String[] args) {
  12.                 // TODO Auto-generated method stub
  13.                 Scanner in=new Scanner(System.in);
  14.                 String string=in.nextLine();
  15.                 int time=Integer.parseInt((string));
  16.                 if(time>=0&&time<60)
  17.                 {
  18.                         System.out.println("打印"+time+"秒");
  19.                 }else if(time>=60&&time<3600){
  20.                         System.out.println("打印"+time/60+"分"+time%60+"秒");
  21.                 }else if(time>=3600&&time<86400){
  22.                         int min=time%3600;
  23.                         int sec=0;
  24.                         sec=min%60;
  25.                         min=min/60;                       
  26.                         System.out.println("打印"+time/3600+"小时"+min+"分"+sec+"秒");
  27.                 }else if(time>=86400){
  28.                         int hou=time%86400;
  29.                         int min=0,sec=0;                       
  30.                         min=hou%3600;
  31.                         sec=min%60;
  32.                         min=min/60;
  33.                         hou=hou/3600;                       
  34.                         System.out.println("打印"+time/86400+"天"+hou+"小时"+min+"分"+sec+"秒");
  35.                 }
  36.                 else {
  37.                         System.out.println("输入有误~");
  38.                 }
  39.         }
  40. }
复制代码


6 个回复

倒序浏览
只能这样了
回复 使用道具 举报
这是我做的,交流一下:
  1. import java.util.*;
  2. public class PrintTime {
  3.         public static void main(String[] args){
  4.                
  5.                 Scanner sc=new Scanner(System.in);
  6.                
  7.                 System.out.println("请输入您要计算的秒数:");
  8.                 int sec=sc.nextInt();
  9.                
  10.                 int day=0,hour=0,min=0;
  11.                
  12.                 if(sec>=0&&sec<60)
  13.                 {
  14.                         System.out.println(sec+"秒");
  15.                 }
  16.                 if(sec>=60&&sec<3600)
  17.                 {
  18.                         min=sec/60;
  19.                         sec=sec%60;
  20.                         System.out.println(min+"分"+sec+"秒");
  21.                 }
  22.                        
  23.                 if(sec>=3600&&sec<86400)
  24.                 {
  25.                         hour=sec/3600;
  26.                         min=sec%3600/60;
  27.                         sec=sec%3600%60;
  28.                         System.out.println(hour+"小时"+min+"分"+sec+"秒");
  29.                 }
  30.                        
  31.                 if(sec>=86400)
  32.                 {
  33.                         day=sec/86400;
  34.                         hour=sec%86400/3600;
  35.                         min=sec%86400%3600/60;
  36.                         sec=sec%86400%3600%60;       
  37.                         System.out.println(day+"天"+hour+"小时"+min+"分"+sec+"秒");
  38.                 }
  39.                                
  40.                 sc.close();
  41.         }
  42. }
复制代码
回复 使用道具 举报
围观中。。。。。。。。看看你们写的代码
回复 使用道具 举报
JJJD 发表于 2015-6-20 16:04
这是我做的,交流一下:

比我的好啊   
回复 使用道具 举报
看不懂,,你的注释呢,,,加注释是个好习惯
回复 使用道具 举报
  1. public class Test1 {
  2.        
  3.         public static void main(String[] args)
  4.         {
  5.                 //获取键盘录入对象
  6.                 Scanner in = new Scanner(System.in);
  7.                
  8.                 System.out.println("please enter a number (-1 to stop):");
  9.                
  10.                 int num=0;
  11.                 try
  12.                 {
  13.                         //循环录入 当用户输入-1后循环终止
  14.                         while((num=in.nextInt())!= -1)
  15.                         {
  16.                                 //求出秒数以及总共有多少分钟
  17.                                 int seconds = num%60;
  18.                                 num = num/60;
  19.                
  20.                                 //求出分钟数以及总共有多少小时
  21.                                 int minutes = num%60;
  22.                                 num = num/60;
  23.                                
  24.                                 //求出小时数以及总共有多少天
  25.                                 int hours = num%24;
  26.                                 num = num/24;
  27.                                
  28.                                 int days = num;
  29.                                 showTime(seconds,minutes,hours,days);
  30.                                
  31.                         }
  32.                 }
  33.                 catch(Exception e)
  34.                 {
  35.                         System.out.println("输入数据的格式错误");
  36.                 }
  37.                
  38.         }
  39.        
  40.         //显示时间
  41.         private static void showTime(int...arr)
  42.         {
  43.                 String[] strs = new String[]{"秒","分","时","天"};
  44.                
  45.                 //建立缓冲区存放表示时间的字符串
  46.                 StringBuilder sb = new StringBuilder();
  47.                
  48.                 for(int i=0;i<arr.length;i++)
  49.                 {
  50.                         //若a[i]不为0则将会打印相应值以及对应单位
  51.                         sb.insert(0,(arr[i]!=0 ? arr[i]+strs[i]:""));
  52.                 }
  53.                 System.out.println(sb.toString());
  54.         }

  55. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马