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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

思路:1.首先从键盘录入数字,然后开始判断他在哪个区间内
        2.如果 time 0-60  那么打印 xx秒
                    60-3600  打印  xx分xx秒
                                3600-86400打印 xx小时xx分 xx秒
                                >86400    打印  xx天 xx小时 xx分xx秒
        3.各自通过除数和取余来判断
        4、为了实现循环输入,需要用while死循环来实现。
*/
import java.util.Scanner;//导包
class  Demo
{
        public static void main(String[] args)
        {
                Scanner sc=new Scanner(System.in);
                /*建立while死循环,实现重复输入的特点*/
                while (true)
                {
                        System.out.println("请输入一个数字:");
                        /*定义变量来接收用户输入的数字*/
                        int time=sc.nextInt();
                        /*定义变量来存储 天  小时  分 秒*/
                        int day,hour,min,sec;
                        /*用if语句判断这个数字在哪个取件,分别进行不同的算法,输出不同的结果*/
                        if (time>=0&&time<60)
                        {
                                System.out.println(time+"秒");
                        }
                        else if (time>=60&&time<3600)
                        {
                                min=time/60;
                                sec=time%60;
                                System.out.println(min+"分"+sec+"秒");
                        }
                        else if (time>=3600&&time<86400)
                        {
                                hour=time/3600;
                                min=time%3600/60;
                                sec=time%3600%60;
                                System.out.println(hour+"小时"+min+"分"+sec+"秒");
                        }
                        else if (time>=86400)
                        {
                                day=time/86400;
                                hour=time%86400/3600;
                                min=time%86400%3600/60;
                                sec=time%86400%3600%60;
                                System.out.println(day+"天"+hour+"小时"+min+"分"+sec+"秒");
                        }
                        else
                        {
                                //如果输入负数的话,那么就打印 出错,然后用continue结束本次循环,进入下次循环
                                System.out.println("您输出的数字有误,请重新输入");
                                continue;
                        }
                }
        }
}


这个问题很简单,从思路到代码都不难,全当是练练手指

评分

参与人数 1黑马币 +2 收起 理由
高光天 + 2 淡定

查看全部评分

13 个回复

倒序浏览
不是要用到Date和Calendar这两个类么……我也不是很会:L
回复 使用道具 举报
又是這道題!!!!
回复 使用道具 举报
Chans_宇 发表于 2015-4-26 19:53
不是要用到Date和Calendar这两个类么……我也不是很会

你说的那个我没学 ,我现在只会这些
回复 使用道具 举报
wangyu 发表于 2015-4-26 21:25
你说的那个我没学 ,我现在只会这些

好吧……:L
回复 使用道具 举报
先见识见识
回复 使用道具 举报
我只是看看的·······
回复 使用道具 举报
涨涨见识。过来猫一眼。
回复 使用道具 举报
学习了  
回复 使用道具 举报
day=time/86400;                                 hour=time%86400/3600;                                 min=time%86400%3600/60;                                 sec=time%86400%3600%60;
回复 使用道具 举报
那个代码放外面不是更好吗?
回复 使用道具 举报
学习学习
回复 使用道具 举报
作为一名菜鸟,允许我膜拜一个
回复 使用道具 举报
恩 ,思路挺好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马