//24小时制时钟
public class Clock {
int hour;
int minute;
int second;
//钟表时间是默认时间0:0:0
public Clock() {
hour = 0;
minute = 0;
second = 0;
}
//指定当前对象的时分秒
public Clock(int hour, int minute, int second) {
this.hour = hour;
this.minute = minute;
this.second = second;
}
//增加指定的小时数(可以是负数)
public void addHour(int h) {
hour += h;
hour %= 24;
if(hour < 0) {
hour += 24;
}
}
//增加指定的分钟数(可以是负数)
public void addMinute(int m) {
minute += m;
int hour = minute / 60;
minute %= 60;
if(minute < 0) {
hour--;
minute += 60;
}
addHour(hour);
}
//增加指定的秒数(可以是负数)
public void addSecond(int s) {
second += s;
int minute = second / 60;
second %= 60;
if(second < 0) {
minute--;
second += 60;
}
addMinute(minute);
}
//获取当前时钟的小时数
public int getHour() {
return hour;
}
//获取当前时钟的分钟数
public int getMinute() {
return minute;
}
//获取当前时钟的秒数
public int getSecond() {
return second;
}
//获取当前Clock时间的字符串形式
public String getTimeString() {
return hour + ":" + minute + ":" + second;
}
}
public class Exp1 {
public static void main(String[] args) {
Clock2 clock = new Clock2(17, 51, 0);
clock.addMinute(630);
System.out.println(clock.getTimeString());
}
}
public class Clock2 {
long second;
public Clock2() {
second = 0;
}
public Clock2(int hour, int minute, int second) {
this.second = hour * 3600 + minute * 60 + second;
}
public void addHour(int h) {
addSecond(h * 3600);
}
public void addMinute(int m) {
addSecond(m * 60);
}
public void addSecond(int s) {
second += s;
second %= (3600 * 24);
if(second < 0) {
second += (3600 * 24);
}
}
public int getHour() {
int hour = (int) (second / 3600);
return hour;
}
public int getMinute() {
int second = (int) this.second;
second %= 3600;
int minute = second / 60;
return minute;
}
public int getSecond() {
int second = (int)this.second % 60;
return second;
}
public String getTimeString() {
return getHour() + ":" + getMinute() + ":" + getSecond();
}
}