java clock类


//24小时制时钟
public class Clock {
    int hour;
    int minute;
    int second;
    //钟表时间是默认时间0:0:0
    public Clock() {
        hour = 0;
        minute = 0;
        second = 0;
    }
    
    //指定当前对象的时分秒
    public Clock(int hour, int minute, int second) {
        this.hour = hour;
        this.minute = minute;
        this.second = second;
    }
    
    //增加指定的小时数(可以是负数)
    public void addHour(int h) {
        hour += h;
        hour %= 24;
        if(hour < 0) {
            hour += 24;
        }
    }
    
    //增加指定的分钟数(可以是负数)
    public void addMinute(int m) {
        minute += m;
        int hour = minute / 60;
        minute %= 60;
        if(minute < 0) {
            hour--;
            minute += 60;
        }
        addHour(hour);
    }
    
    //增加指定的秒数(可以是负数)
    public void addSecond(int s) {
        second += s;
        int minute = second / 60;
        second %= 60;
        if(second < 0) {
            minute--;
            second += 60;
        }
        addMinute(minute);
    }
    
    //获取当前时钟的小时数
    public int getHour() {
        return hour;
    }

    //获取当前时钟的分钟数
    public int getMinute() {
        return minute;
    }

    //获取当前时钟的秒数
    public int getSecond() {
        return second;
    }
    
    //获取当前Clock时间的字符串形式
    public String getTimeString() {
        return hour + ":" + minute + ":" + second;
    }
}
 


public class Exp1 {

    public static void main(String[] args) {
        Clock2 clock = new Clock2(17, 51, 0);
        clock.addMinute(630);
        System.out.println(clock.getTimeString());
    }

}
 


public class Clock2 {
    long second;
    
    public Clock2() {
        second = 0;
    }
    
    public Clock2(int hour, int minute, int second) {
        this.second = hour * 3600 + minute * 60 + second;
    }
    
    public void addHour(int h) {
        addSecond(h * 3600);
    }
    
    public void addMinute(int m) {
        addSecond(m * 60);
    }
    
    public void addSecond(int s) {
        second += s;
        second %= (3600 * 24);
        if(second < 0) {
            second += (3600 * 24);
        }
    }
    
    public int getHour() {
        int hour = (int) (second / 3600);
        return hour;
    }
    
    public int getMinute() {
        int second = (int) this.second;
        second %= 3600;
        int minute = second / 60;
        return minute;
    }
    
    public int getSecond() {
        int second = (int)this.second % 60;
        return second;
    }
    
    public String getTimeString() {
        return getHour() + ":" + getMinute() + ":" + getSecond();
    }
}
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值