将军事时间加在一起不起作用 - JAVA
Adding military times together not working - JAVA
我正在尝试在 Java 中制作一个时钟 class 来显示军事时间,我的老师给了我们一个 ClockTester.java,它使用我们的 "engine"一个时钟。我已经让它正确显示了,但是我在正确添加时间时遇到了问题。
这都是以军事时间显示的,所以添加 12:00:00 和 15:00:00 应该给我 03:00:00,而不是 27:00:00 就像它给我的那样......但我做起来有困难那。
这是我的数学方法:
public void addHours(int h){
int sum = this.hours + h;
this.hours = (sum % 24);
if((this.hours = (sum % 24)) > 23) //Keeps the hours within real boundaries
this.hours -= 24;
}
public void addMinutes(int m){
int sum = this.mins + m;
this.mins = (sum % 60);
if((this.mins = (sum % 60)) > 59){ //Keeps the mins within real boundaries
this.mins -= 60;
this.addHours(sum % 60);
}
}
public void addSeconds(int s){
int sum = this.secs + s;
this.secs = (sum % 60);
if((this.secs = (sum % 60)) > 59){ //Keeps the secs within real boundaries
this.secs -= 60;
this.addMinutes(sum % 60);
}
}
如果您需要 see/know 任何其他帮助,请告诉我。谢谢
this.hours += (sum % 24);
将结果(例如,小时为 23,h 为 5,因此 28%24 = 4,小时 = 23 + 4)添加到小时。
你应该试试 :
this.hours = (sum % 24);
您可以对分和秒执行相同的操作。
我正在尝试在 Java 中制作一个时钟 class 来显示军事时间,我的老师给了我们一个 ClockTester.java,它使用我们的 "engine"一个时钟。我已经让它正确显示了,但是我在正确添加时间时遇到了问题。
这都是以军事时间显示的,所以添加 12:00:00 和 15:00:00 应该给我 03:00:00,而不是 27:00:00 就像它给我的那样......但我做起来有困难那。
这是我的数学方法:
public void addHours(int h){
int sum = this.hours + h;
this.hours = (sum % 24);
if((this.hours = (sum % 24)) > 23) //Keeps the hours within real boundaries
this.hours -= 24;
}
public void addMinutes(int m){
int sum = this.mins + m;
this.mins = (sum % 60);
if((this.mins = (sum % 60)) > 59){ //Keeps the mins within real boundaries
this.mins -= 60;
this.addHours(sum % 60);
}
}
public void addSeconds(int s){
int sum = this.secs + s;
this.secs = (sum % 60);
if((this.secs = (sum % 60)) > 59){ //Keeps the secs within real boundaries
this.secs -= 60;
this.addMinutes(sum % 60);
}
}
如果您需要 see/know 任何其他帮助,请告诉我。谢谢
this.hours += (sum % 24);
将结果(例如,小时为 23,h 为 5,因此 28%24 = 4,小时 = 23 + 4)添加到小时。
你应该试试 :
this.hours = (sum % 24);
您可以对分和秒执行相同的操作。