2021-08-04

最近看动力节点的javase进阶视频,其中一道作业题,实现对时间的改变。

package com.advance.javase.a;

public class MyTime {
    private int hour;
    private int minute;
    private int second;

    public static void main(String[] args) {
        MyTime myTime = new MyTime(22, 46, 30);
        myTime.addSecond(90);
        myTime.display();
    }

    public MyTime(int hour, int minute, int second) {
        this.hour = hour;
        this.minute = minute;
        this.second = second;
    }

    public MyTime() {
    }
    public void display(){
        System.out.println(this.hour+"时"+this.minute+"分"+this.second+"秒");
    }
    public void addSecond(int second){
        this.second=this.second+second;
        this.secondException();
        this.minuteException();
        this.hourException();
    }
    public void subSecond(int second){
        this.second=this.second-second;
        this.secondException();
        this.minuteException();
        this.hourException();
    }
    public void subMinute(int minute){
        this.minute=this.minute-minute;
        this.secondException();
        this.minuteException();
        this.hourException();
    }
    public void addMinute(int minute){
        this.minute=this.minute+minute;
        this.secondException();
        this.minuteException();
        this.hourException();
    }
    public void subHour(int hour){
        this.hour=this.hour-hour;
        this.secondException();
        this.minuteException();
        this.hourException();
    }
    public void addHour(int hour){
        this.hour=this.hour+hour;
        this.secondException();
        this.minuteException();
        this.hourException();
    }
    public void secondException() {
        while (this.second >= 60) {
            int n = this.second / 60;
            this.minute = this.minute + n;
            this.second = this.second % 60;
        }
        while (this.second < 0) {
            int n = this.second / 60 - 1;
            this.minute = this.minute + n;
            this.second = 60+this.second % 60;
        }
    }
    public void minuteException() {
        while (this.minute >= 60) {
            int n = this.minute / 60;
            this.hour = this.hour + n;
            this.minute = this.minute % 60;
        }
        while (this.minute < 0) {
            int n = this.minute / 60 - 1;
            this.hour = this.hour + n;
            this.minute = 60+this.minute % 60;
        }
    }
    public void hourException() {
        while (this.hour >= 24) {
            this.hour=this.hour-24;
        }
        while (this.hour < 0) {
            this.hour=24+this.hour;
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值