数字时钟

数字时钟

  • 通常的时钟显示是hh:mm:ss这样的,所以这次我模拟这种的显示方式来检验java对象与类的学习成果。
  • 我们首先定义一个Display类,类中有Value和limits两个属性,有getValue(), setValue(int value), increase()这三种方法
类名:Display
属性:valuelimits
方法:increase()getValue()setValue()

class Display {
    private int value = 0;
    private int limits = 0;

    public Display() {}
    //利用构造方法对limits初始化
    public Display(int limits){
        this.limits = limits;
    }

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

    public int getValue() {
        return value;
    }

    public void setValue(int value) {
        this.value = value;
    }
}
  • 之后我们定义一个Clock类,类中有会定义三个Display对象(分别为:HOUR, MINUTE, SENCOND), 当SENCOND对象中的value == limits
    我们会让MINUTE类中的value++, 以此类推。
类名:Clock
属性:HOURMINUTESENCOND
方法:tick()toString()

class Clock {
    private Display HOUR = new Display(24);
    private Display MINUTE = new Display(60);
    private Display SENCOND = new Display(60);

    public Clock() {}

    public Clock(int hour, int minute, int second) {
        HOUR.setValue(hour);
        MINUTE.setValue(minute);
        SENCOND.setValue(second);
    }

    public void tick() {
        SENCOND.increase();
        if(SENCOND.getValue() == 0){
            MINUTE.increase();
            if(MINUTE.getValue() == 0){
                HOUR.increase();
            }
        }
    }

    public String toString() {
        return String.format("%02d:%02d:%02d", HOUR.getValue(), MINUTE.getValue(), SENCOND.getValue());
    }
}
  • 之后再main()函数中调用Clock类来对结果进行输出
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());
        clock.tick();
        System.out.println(clock);
        in.close();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值