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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiazhixing 中级黑马   /  2014-6-10 17:04  /  1058 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. <DIV class=blockcode>
  2. <BLOCKQUOTE>
  3. <P>/*
  4. 第3题: 从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:</P>
  5. <P>键盘输入6,打印6秒;
  6. 键盘输入60,打印1分;
  7. 键盘输入66,打印1分6秒;
  8. 键盘输入666,打印11分6秒;
  9. 键盘输入3601,打印1小时1秒</P>
  10. <P>*/

  11. class Test3
  12. {
  13. public static void main(String[] args)
  14. {
  15. int num;
  16. Scanner sc = new Scanner(System.in);
  17. num=sc.nextInt(); //将读取的内容赋给变量


  18. int hour = num/3600; //定义一个存小时数的变量num1
  19. int min = (num-hour*3600)/60; //定义一个存小时数的变量num1
  20. int sec = num-hour*3600-min*60;

  21. if(hour==0)
  22. {
  23. if(min==0)
  24. System.out.println(num+"表示的时间为"+sec+"秒"); //几秒
  25. else
  26. {
  27. if(sec==0)
  28. System.out.println(num+"表示的时间为"+min+"分");//几分
  29. else
  30. System.out.println(num+"表示的时间为"+min+"分"+sec+"秒");//几分几秒
  31. }

  32. }
  33. else
  34. {
  35. if(min==0)
  36. {
  37. if(sec==0)
  38. System.out.println(num+"表示的时间为"+hour+"小时"); //几小时
  39. else
  40. System.out.println(num+"表示的时间为"+hour+"小时"+sec+"秒"); //几小时几秒
  41. }
  42. else
  43. {
  44. if(sec==0)
  45. System.out.println(num+"表示的时间为"+hour+"小时"+min+"分"); //几小时几分
  46. else
  47. System.out.println(num+"表示的时间为"+hour+"小时"+min+"分"+sec+"秒"); //几小时几分几秒
  48. }
  49. }
  50. }
  51. }
  52. </P>
复制代码
解这道题都快晕了,大家有更好的解法吗?


2 个回复

倒序浏览
在输出结果上,没必要考虑的那么复杂,你可以这样想有 天/小时/分钟/秒 就输出,没有就不输出,代码如下:
import java.util.Scanner;

class Practise
   {
   public static void main(String[] args)
   {
   int num;
   Scanner sc = new Scanner(System.in);
   num=sc.nextInt();

   int day=num/3600/24;//天
   int hour = (num-day*3600*24)/3600; // 小时
   int min = (num-hour*3600)/60; //分
   int sec = num-hour*3600-min*60;//秒
   System.out.print(num+"表示的时间为:");
   if(day!=0)
           System.out.print(day+"天");
   if(hour!=0)
           System.out.print(hour+"时");
   if(min!=0)
       System.out.print(min+"分");
   if(sec!=0)
           System.out.print(sec+"秒");
   
   }
   }
回复 使用道具 举报 1 0
夏日蓝雪 发表于 2014-6-10 18:34
在输出结果上,没必要考虑的那么复杂,你可以这样想有 天/小时/分钟/秒 就输出,没有就不输出,代码如下:
...

确实简便多了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马