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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

importjava.io.*;
importjava.util.*;
public class Time {
        public static void main(String[] args) throws IOException
        {  Scanner time = newScanner(System.in);
               int t,second,mm,hour,day;  
                t = time.nextInt();  
              if(t >0){
                if(t >=3600*24)     //判断天数  
                 {  
                    day = t/(3600*24);  
                    t= t- day * (3600*24);  
                    System.out.print(day+"");  
                  }  
              if((3600*24)>t && t>=3600)
                {  
                    hour = t/3600;  
                    t = t -hour*3600;  
                    System.out.print(hour+"小时");  
                 }  
                     
               if(3600>t && t>=60)  
                 {                     
                  mm = t/60;  
                   t = t -mm*60;  
                   System.out.print(mm+"分钟");
                 }                    
                 if(60>t && t>0)   //判断秒  
                 {  
                    second = t;  
                     System.out.print(second+"");  
                 }
                          
             }else{  
                 System.out.print("输入的时间不对");  
                  }  
        }
}

评分

参与人数 1黑马币 +4 收起 理由
gaoxiangxiang + 4 赞一个!

查看全部评分

37 个回复

倒序浏览
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
回复 使用道具 举报
package com.itheima;

import java.util.Scanner;

/**
* 3、 从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:
*        键盘输入6,打印6秒;
*        键盘输入60,打印1分;
*        键盘输入66,打印1分6秒;
*        键盘输入666,打印11分6秒;
*        键盘输入3601,打印1小时1秒
* @author Administrator
*/

public class Test3 {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个数字:");
                int n = sc.nextInt();
                num(n);
        }

        private static void num(int n) {
                int m=0;
                int l=0;
                int k=0;
                int j=0;
                        //得出天数
                        if (n/(3600*24) !=0) {
                                j = n/(3600*24);
                                System.out.println(j+"天");
                        }
                        //得出小时数
                        if (n%(3600*24)/3600 != 0) {
                                m = n%(3600*24) / 3600;
                                System.out.print(m+"小时");
                        }
                        //得出分数
                        if ((n%(3600*24)%3600/60) != 0) {
                                l = n%(3600*24) % 3600 / 60;
                                System.out.print(l+"分");
                        }
                        //得出秒数
                        if ((n%(3600*24)%3600%60) != 0) {
                                k = n%(3600*24) % 3600 % 60;
                                System.out.print(k+"秒");
                        }
        }
       
}
回复 使用道具 举报 1 0
学习一下啊
回复 使用道具 举报
学习了                        
回复 使用道具 举报
学习了,读取键盘输入是不是还有其他方法
回复 使用道具 举报
孤鸢 中级黑马 2014-8-22 23:44:28
7#
本帖最后由 孤鸢 于 2014-8-23 00:17 编辑

我自己解决的
  1. import java.util.*;
  2. public class Test4
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 int second,minute,hour,day;
  7.                 Scanner in = new Scanner(System.in);
  8.                 int time;
  9.                 //循环读键盘输入的一个整数
  10.                 System.out.print("请输入一个整数(0表示退出):");
  11.                 while((time = in.nextInt()) != 0)
  12.                 {
  13.                         if(time < 60)
  14.                         {
  15.                                 second = time;
  16.                                 System.out.println(second+"秒");
  17.                         }
  18.                         else if(time>=60 && time < 3600)
  19.                         {
  20.                                 minute = time/60;
  21.                                 second = time%60;
  22.                                 System.out.println(minute+"分"+second+"秒");
  23.                         }
  24.                         else if(time>=3600 && time < 216000)
  25.                         {
  26.                                 hour = time/3600;
  27.                                 minute = (time%3600)/60;
  28.                                 second = time%60;
  29.                                 System.out.println(hour+"时"+minute+"分"+second+"秒");
  30.                         }
  31.                         else if(time >= 216000)
  32.                         {
  33.                                 day = time/216000;
  34.                                 hour = (time%216000)/3600;
  35.                                 minute = (time%3600)/60;
  36.                                 second = time%60;
  37.                                 System.out.println(day+"天"+hour+"时"+minute+"分"+second+"秒");
  38.                         }
  39.                         else
  40.                                 System.out.println("输入数据有误,请输入整数");
  41.                 }
  42.         }
  43. }
复制代码

审核过了发出来的,
这样能不加技术分呢  @加分  大神
回复 使用道具 举报 1 1
import java.util.Scanner;
public class Test4 {

        public static void main(String[] args) {
                Scanner sc=new Scanner(System.in);
                System.out.print("请输入一个数字:");
                //定义一个变量接收输入的数据
                int time=sc.nextInt();
                //定义数组1接收天,时,分,秒的数值
                int[]arr1=new int[4];
                arr1[3]=time%60;
                arr1[2]=(time/60)%60;
                arr1[1]=(time/3600)%24;
                arr1[0]=time/86400;
                //定义字符串数组使数值和天时分秒对应
                String[]arr2=new String[4];
                arr2[0]=arr1[0]+"天";
                arr2[1]=arr1[1]+"小时";
                arr2[2]=arr1[2]+"分";
                arr2[3]=arr1[3]+"秒";
                //对于天时分秒中数值为0的清除对于单位
                for(int i=0;i<arr1.length;i++){
                        if(arr1[i]==0){
                                arr2[i]="";
                        }
                }
                //打印输入数字对应的时间
                for(int i=0;i<arr2.length;i++){
                        System.out.print(arr2[i]);       
                }
        }

}


作为参考
回复 使用道具 举报
孤鸢 发表于 2014-8-18 20:18
学习了,读取键盘输入是不是还有其他方法

有的 用io不过我也还没学到呢 :P
回复 使用道具 举报
孤鸢 发表于 2014-8-22 23:44
我自己解决的

审核过了发出来的,

你这个好像不满足要求的,比如60输出的应该是1分,而不是1分0秒
回复 使用道具 举报
Fightin黑马 发表于 2014-8-24 22:10
你这个好像不满足要求的,比如60输出的应该是1分,而不是1分0秒

嗯...这样的话,多加个判断,
回复 使用道具 举报
这种方法为什么有一段数输出不了呢,比如216000~216009
回复 使用道具 举报
能出来了,之前myeclipse没反应过来
回复 使用道具 举报
楼主少了个while 判断吧  输入了负数或者0 不能继续输入了
回复 使用道具 举报
inception 来自手机 中级黑马 2014-10-9 21:05:43
15#
楼主和3楼的方法不错,楼主的会出现0秒,在最后一个if中加个判断,如果t不等于0,就打印t+“秒”
回复 使用道具 举报
郑松 初级黑马 2014-10-27 18:30:51
16#
赞一个!
回复 使用道具 举报
time的资源是否需要关闭?
回复 使用道具 举报
学习了,谢谢
回复 使用道具 举报
好好好!!!
回复 使用道具 举报
打印秒的那个print应该加上ln吧,否则光标无法调到下一行
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马