java实验报告_时钟(浙江大学慕课瓮恺)

   日期:2020-09-14     浏览:164    评论:0    
核心提示:一、实验内容题目1对程序的测试结果:转存失败重新上传取消三、程序源代码1.Main类public class Main { public static void main(String[] args) { java.util.Scanner in = new java.util.Scanner(System.in); Clock clock = new Clock(in.nextInt(), in.nextInt(), in..

一、实验内容

  1. 题目1

 

对程序的测试结果:

三、程序源代码

1.Main类

public class Main {
    public static void main(String[] args) {
        java.util.Scanner in = new java.util.Scanner(System.in);
        Clock clock = new Clock(in.nextInt(), in.nextInt(), in.nextInt(),in.nextInt(), in.nextInt(), in.nextInt());//起始时间

//        for (;;){
            clock.tick();
            System.out.println(clock.toString());
//        }

       // in.close();
    }

}

2.Clock类



public class Clock {
    private Display hour = new Display(24);
    private Display minute = new Display(60);
    private Display second = new Display(60);

    private Display year = new Display(10000);
    private Display month = new Display(12);
    private Display day = new Display(32);

    public Clock() {
    }

    //有参构造函数
    public Clock(int hour, int minute, int second, int year, int month, int day){
        this.hour.setValue(hour);
        this.minute.setValue(minute);
        this.second.setValue(second);

        //月和日最低不是0,所以输出的时候要加一,操作时和实际的相比较则要减一
        this.year.setValue(year);
        this.month.setValue(month);
        this.day.setValue(day);
    }
    public void start()
    {
        for(;;)
        {
            minute.increase();
            if (minute.getValue() == 0)
            {
                hour.increase();
            }

        }
    }

    
    public void tick() {
        second.increase();
        if (second.getValue() == 0) {
            minute.increase();
            if (minute.getValue() == 0) {
                hour.increase();
                if (hour.getValue() == 0) {
                     day.increase();

                     if(day.getValue() == 0)
                         month.increase();
                     else if ((day.getValue() == 28 || day.getValue() == 27) && month.getValue()==2) {
                         month.increase();
                         day.setValue(0);
                     }

                     if(month.getValue() == 0){
                         year.increase();
                     }

                }
            }
        }
    }
    @Override
    public String toString() {
        return String.format("%02d/%02d/%02d,%02d:%02d:%02d",
                year.getValue(),month.getValue(),day.getValue(),hour.getValue(), minute.getValue(), second.getValue());
    }

    public static void main(String[] args) {
        Clock c = new Clock();
        c.start();

    }



}

3.Display类


public class Display {

    private int value=0;
    private int limit=0;

    public Display(int limit)
    {
        this.limit = limit;
    }

    public void increase()
    {
        value++;
        if (value == limit)
        {
            value = 0;
        }
    }

    public int getValue()
    {
        return value;
    }

    //设置当前值
    public void setValue(int value){
        this.value = value;
    }

    public static void main(String[] args) {
        Display d = new Display(60);
       // d.main(args);

        for(;;)
        {
            d.increase();
            System.out.println(d.limit);
        }

    }

}

 

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服