问题描述:
定义一个 时间类,包含 时hour 分min 秒sec三个私有变量
定义 set和get方法对三个变量进行设置 以及 add和sub方法对变量进行操作
初始时间使用构造方法赋值
输出调用 add和sub方法之后的时间
/*
定义一个 时间类,包含 时hour 分min 秒sec三个私有变量
定义 set以及get方法 以及 add和sub方法
初始时间使用构造方法赋值
输出调用 add和sub方法之后的时间
*/
public class homework03 {
public static void main(String[] args){
Time time = new Time(1, 1, 1);
time.disPlay();
time.addHour(1);
time.disPlay();
time.subHour(2);
time.disPlay();
time.addSec(60);
time.disPlay();
time.addSec(360);
time.disPlay();
time.addSec(3600);
time.disPlay();
}
}
class Time{
//私有属性
private int hour;
private int min;
private int sec;
//无参构造方法
public Time(){}
//有参构造方法,用于设置初始时间
public Time(int hour, int min, int sec){
this.hour = hour;
this.min = min;
this.sec = sec;
}
public void disPlay(){
System.out.println("现在的时间是: " + this.hour + "时" + this.min + "分" + this.sec + "秒");
}
public void setHour(int hour){
this.hour = hour;
}
public int getHour(){
return this.getHour();
}
public void setMin(int min){
this.min = min;
}
public int getNin(){
return this.min;
}
public void setSec(){
this.sec = sec;
}
public int getSec(){
return this.sec;
}
//对 hour 进行加
public void addHour(int num){
this.hour += num;
}
//对 hour 进行减
public void subHour(int num){
this.hour -= num;
}
//对 min 进行加
public void addMin(int num){
this.min += num;
calcTime();
}
//对 min 进行减
public void subMin(int num){
this.min -= num;
calcTime();
}
//对 sec 进行加
public void addSec(int num){
this.sec += num;
calcTime();
}
//对 sec 进行减
public void subSec(int num){
this.sec -= num;
calcTime();
}
//计算所有时间一共有多少秒
public int total_seconds(int hour, int min, int sec){
return (hour*60*60 + min*60 + sec);
}
//计算增加和减少时间之后的 hour min sec
//每调用一次 add/sub 函数就计算一次更新后的 hour min sec
public void calcTime(){
int total_seconds = total_seconds(this.hour, this.min, this.sec);
this.hour = total_seconds / 3600;
total_seconds %= 3600;
this.min = total_seconds / 60;
total_seconds %= 60;
this.sec = total_seconds;
}
}