在程序中经常要对时间进行操作但是并没有时间类型的数据。 那么我们可以自己实现一个时间类来满足程序中的需要。

题目如下:
在程序中经常要对时间进行操作但是并没有时间类型的数据。
那么我们可以自己实现一个时间类来满足程序中的需要。
定义名为MyTime的类其中应有三个整型成员时hour分minute秒second
为了保证数据的安全性这三个成员变量应声明为私有。
为MyTime类定义构造方法以方便创建对象时初始化成员变量。
再定义diaplay方法用于将时间信息打印出来。

为MyTime类添加以下方法
addSecond(int sec)
addMinute(int min)
addHour(int hou)
subSecond(int sec)
subMinute(int min)
subHour(int hou)
分别对时、分、秒进行加减运算。

public class Ex484_Test {
    public static void main(String[] args) {

        Mytime mytime = new Mytime(23,55,10);
        mytime.disPlay();
        mytime.addSecond(34);
        mytime.disPlay();
        mytime.addMinute(67);
        mytime.disPlay();
        mytime.addHour(3);
        mytime.disPlay();
        mytime.subSecond(60);
        mytime.disPlay();
        mytime.subHour(3);
        mytime.disPlay();
        mytime.subMinute(44);
        mytime.disPlay();

    }
}
class Mytime{
    private int hour;
    private int minute;
    private int second;

    public void disPlay(){

        System.out.println("现在时间是: "+this.hour+"时"+this.minute+"分"+this.second+"秒");
    }

    public void addHour(int h){
        hour = (hour + h)%24;
    }
    public void subHour(int h){
        hour = (hour - h)%24;
        if(hour < 0){
            hour = 24 + hour;
        }
    }
    public void addMinute(int m){
        int t = 0;
        t = (minute + m)/60;
        minute = (minute + m)%60;
        if(t > 0){
            this.addHour(t);
        }
    }
    public void subMinute(int m){
        int t = 0;
        t = (minute - m)/60;
        if(m > minute) {
            minute = 60 + ((minute - m)%60);
            this.subHour(-(t-1));
        }
        else
            minute = minute - m;
    }
    public void addSecond(int s){
        int t = 0;
        t = (second + s)/60;
        second = (second + s)%60;
        if(t > 0){
            this.addMinute(t);
        }
    }
    public void subSecond(int s){
        int t = 0;
        t = (second - s)/60;
        if(s > second){
            second = 60 + ((second - s)%60);
            this.subMinute(-(t-1));
        }
        else
            second = second - s;
    }



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

    public Mytime() {
    }

    public int getHour() {
        return hour;
    }

    public void setHour(int hour) {
        this.hour = hour;
    }

    public int getMinute() {
        return minute;
    }

    public void setMinute(int minute) {
        this.minute = minute;
    }

    public int getSecond() {
        return second;
    }

    public void setSecond(int second) {
        this.second = second;
    }
}

测试结果:

在这里插入图片描述

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值