黑马程序员技术交流社区

标题: ~再请教个问题~ [打印本页]

作者: 遇见未来2016    时间: 2016-5-26 18:21
标题: ~再请教个问题~
从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如: 键盘输入6,打印6秒;
                 键盘输入60,打印1分; 键盘输入66,打印1分6秒;键盘输入666,打印11分6秒; 键盘输入3601,打印1小时1秒


作者: 遇见未来2016    时间: 2016-5-27 08:55
求解求解。。。。~~~
作者: 贪睡的猫    时间: 2016-5-27 10:00
  1. package demo3;

  2. import java.util.Scanner;

  3. public class Test5 {
  4.         public static void main(String[] args) {
  5.                 Scanner sc = new Scanner(System.in);
  6.                 //输入数字
  7.                 int num = sc.nextInt();
  8.                 if (num < 0) {
  9.                         System.out.println("非法参数");
  10.                 }else if(num<60){
  11.                         second(num);
  12.                 }       
  13.                 else if (num < 3600) {
  14.                         //数字没有到3600
  15.                         minute(num);
  16.                 } else {
  17.                         //数字到3600秒或者以上
  18.                         hour(num);
  19.                 }
  20.         }
  21.         private static void second(int num) {
  22.                 //输出秒的文本
  23.                 int s=num%60;
  24.                 System.out.println(s+"秒");
  25.         }
  26.         private static void minute(int num) {
  27.                 //输出分秒的文本
  28.                 int m = num / 60;
  29.                 int s = num % 60;
  30.                 System.out.println(m + "分" + s + "秒");
  31.         }

  32.         private static void hour(int num) {
  33.                 //输出时分秒的文本
  34.                 int h = num / 3600;
  35.                 int m = num % 3600 / 60;
  36.                 int s = num % 3600 % 60;
  37.                 System.out.println(h + "时" + m + "分" + s + "秒");
  38.         }

  39. }
复制代码
这就是代码咯,欢迎互顶

作者: huburt    时间: 2016-5-27 10:20
  1. /**
  2.                  * 从键盘接受一个数字,打印该数字表示的时间,最大单位到天,
  3.                  * 例如: 键盘输入6,打印6秒;
  4.                  * 键盘输入60,打印1分;
  5.                  * 键盘输入66,打印1分6秒;
  6.                  * 键盘输入666,打印11分6秒;
  7.                  * 键盘输入3601,打印1小时1秒
  8.                  */
  9.                 Scanner sc = new Scanner(System.in);
  10.                 while(true){
  11.                         System.out.println("请输入一个正整数");
  12.                         try {
  13.                                 int a = sc.nextInt();
  14.                                 if(a<60){
  15.                                         System.out.println(a+"秒");
  16.                                 }else if(a<3600&&a>=60){
  17.                                         System.out.println(a/60+"分"+a%60+"秒");
  18.                                 }else if(a>=3600&&a<86400){
  19.                                         System.out.println(a/3600+"小时"+(a%3600)/60+"分"+a%60+"秒");
  20.                                 }
  21.                         } catch (Exception e) {
  22.                                 System.out.println("输入有误!请重新输入一个正整数:");
  23.                         }
  24.                        
  25.                 }
复制代码

作者: zhglyxgs    时间: 2016-5-27 12:11
楼上正解。。。学习了
作者: 遇见未来2016    时间: 2016-5-27 12:22
谢谢谢谢。。。学习了。~!!
作者: jialp1024    时间: 2016-5-27 12:22
同求....
作者: 975298245    时间: 2016-5-28 14:52
学习学习




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