在程序中,经常要对时间进行操作,请定义实现一个时间类,来满足程序中的需要:
(1)定义名为 MyTime 的类,其中有三个整型:时(hour),分(minute),秒(second)。
(2)为了保证数据的安全性,这三个成员变量应声明为私有。
(3)为 MyTime 类定义构造方法,以方便创建对象时初始化成员变量。
(4)为 MyTime 类添加以下三个方法,分别对时、分、秒进行加减运算。
addSecond(int second)
addMinute(int minute)
addHour(int hour)
注意时、分、秒可以大于或小于0,在进行计算时还应该注意进位。
如当前时间12:20:40,当调用addSecond( 30)时,则时间变为:12:21:10;
(5)重写toString()方法,用于将时间信息打印出来。输出格式为:时:分:秒(12:20:40)。
测试要求如下:
1)初始化时间为 12:20:40
2)增加30秒之后输出时间为:12:21:10
3)增加70分钟后输出时间为:13:31:10
4)增加25小时后输出时间为:14:31:10
代码示例:
public class MyTime {
private int hour;
private int minute;
private int second;
public MyTime(int hour, int minute, int second) {
this.hour = hour;
this.minute = minute;
this.second = second;
}
public void addSecond(int second){
this.second += second;
while(this.second >= 60){
this.second -= 60;
addMinute(1);
}
while(this.second < 0){
this.second += 60;
addMinute(-1);
}
}
public void addMinute(int minute) {
this.minute += minute;
while(this.minute >= 60){
this.minute -= 60;
addHour(1);
}
while(this.minute < 0){
this.minute += 60;
addHour(-1);
}
}
public void addHour(int hour) {
this.hour += hour;
while(this.hour >= 24){
this.hour -= 24;
}
while(this.hour < 0){
this.hour += 24;
}
}
public String toString() {
return (this.hour + ":" + this.minute + ":" + this.second);
}
}
public class Main {
public static void main(String[] args) {
MyTime mytime =new MyTime(12,20,40);
mytime.addSecond(30);
System.out.println(mytime.toString());
mytime.addMinute(70);
System.out.println(mytime.toString());
mytime.addHour(25);
System.out.println(mytime.toString());
}
}
效果:
(代码和效果仅供参考)