java练习(面向对象)
2021/11/5 17:39:56
本文主要是介绍java练习(面向对象),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目
在程序中经常要对时间进行操作但是并没有时间类型的数据。
那么我们可以自己实现一个时间类来满足程序中的需要。
定义名为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)
分别对时、分、秒进行加减运算。
分析
对时间进行加减时,加法运算时,要考虑每满60秒,对应的分加1。满60分,对应的时要加1.减法运算则反之。
/* 在程序中经常要对时间进行操作但是并没有时间类型的数据。 那么我们可以自己实现一个时间类来满足程序中的需要。 定义名为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 Day1601 { public static void main(String[] args) { MyTime m = new MyTime(14,58,42); m.display(); m.addSecond(58); m.addMinute(43); m.addHour(20); m.display(); m.subSecond(58); m.subMinute(43); m.subHour(20); m.display(); System.out.println("Hello World!"); } } class MyTime { //私有化、封装 private int hou; private int min; private int sec; public MyTime(){ this(0,0,0); } public MyTime(int hou,int min,int sec){ this.hou = hou; this.min = min; this.sec = sec; } public void setHou(int hou){ this.hou = hou; } public int getHou(){ return hou; } public void setMin(int min){ this.min = min; } public int getMin(){ return min; } public void setSec(int sec){ this.sec = sec; } public int getSec(){ return sec; } public void display(){ System.out.println(getHou()+"时"+getMin()+"分"+getSec()+"秒"); } public void addSecond(int sec){ if ((getSec()+sec) > 60) { setSec(getSec()+sec-60); setMin(getMin()+1);//超过60秒进1分钟 }else{ setSec(getSec()+sec); } } public void addMinute(int min) { if ((getMin()+min)>60) { setMin(getMin()+min-60);//超过60分进1小时 setHou(getHou()+1); }else{ setMin(getMin()+min); } } public void addHour(int hou){ if ((getHou()+hou)>24) { setHou(getHou()+hou-24); System.out.println("+1天");//超过24小时,则+1天 }else{ setHou(getHou()+hou); } } public void subSecond(int sec){ if ((getSec()-sec)<0) { setSec(getSec()+60-sec); setMin(getMin()-1); }else{ setSec(getSec()-sec); } } public void subMinute(int min) { if ((getMin()-min)<0) { setMin(getMin()+60-min); setHou(getHou()-1); }else{ setMin(getMin()-min); } } public void subHour(int hou) { if ((getHou()-hou)<0) { setHou(getHou()+24-hou); System.out.println("-1天"); }else{ setHou(getHou()-hou); } } }
这篇关于java练习(面向对象)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南
- 2024-09-26Springboot微服务资料入门教程