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,min,int,练习,MyTime,面向对象,hou,sec,public 来源: https://blog.csdn.net/weixin_55139299/article/details/121167240