黑马程序员技术交流社区

标题: 从键盘接受一个数字,打印该数字表示的时间,最大单位... [打印本页]

作者: xingjiyuan26    时间: 2015-11-2 21:42
标题: 从键盘接受一个数字,打印该数字表示的时间,最大单位...
每天写写这样的题,锻炼一下大脑
  1. import java.util.Scanner;

  2. /**
  3. * 从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:
  4. *
  5. * 键盘输入6,打印6秒; 键盘输入60,打印1分; 键盘输入66,打印1分6秒; 键盘输入666,打印11分6秒; 键盘输入3601,打印1小时1秒
  6. *
  7. *
  8. */
  9. public class Test2 {
  10.         public static void main(String[] args) {
  11.                 Scanner scan = new Scanner(System.in);
  12.                 // 接收键盘输入
  13.                 int seconds = scan.nextInt();

  14.                 // 如果秒大于60,则转化为分钟
  15.                 if (seconds >= 60) {
  16.                         int minutes = seconds / 60;
  17.                         seconds = seconds % 60;

  18.                         // 如果分钟大于60,则转化为小时
  19.                         if (minutes >= 60) {
  20.                                 int hours = minutes / 60;
  21.                                 minutes = minutes % 60;

  22.                                 // 如果小时大于24,则转化为天
  23.                                 if (hours >= 24) {
  24.                                         int days = hours / 24;
  25.                                         hours = hours % 24;

  26.                                         System.out.print(days + "天");
  27.                                 }

  28.                                 // 如果小时转化为天后还有余数,则输出这个余数
  29.                                 if (hours != 0) {
  30.                                         System.out.print(hours + "小时");
  31.                                 }
  32.                         }
  33.                         // 如果分转化为小时后还有余数,则输出这个余数
  34.                         if (minutes != 0) {
  35.                                 System.out.print(minutes + "分");
  36.                         }
  37.                         // 如果秒转化后还有余数,则输出
  38.                         if (seconds != 0) {
  39.                                 System.out.println(seconds + "秒");
  40.                         }
  41.                 } else {
  42.                         // 如果秒不大于60,则直接输出秒
  43.                         System.out.println(seconds + "秒");
  44.                 }

  45.         }

  46. }
复制代码

作者: xingjiyuan26    时间: 2015-11-2 21:45
应该有更少代码量就可完成,大家一起交流哈




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2