我试图用Java制作一个显示军事时间的时钟课,而我的老师给了我们一个使用我们的"引擎"的ClockTester.java。一个时钟。我已经让它显示正确,但我在正确添加时间方面遇到了麻烦 它全部显示在军事时间,所以添加12:00:00和15:00:00应该给我03:00:00,而不是27:00:00就像它给我...但是我&# 39;我很难做到这一点。
以下是我的数学方法:
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);
}
}
如果您需要查看/知道其他任何事情来帮助我,请告诉我。感谢。
答案 0 :(得分:2)
this.hours += (sum % 24);
将结果(例如,小时为23,h为5,因此28%24 = 4,小时= 23 + 4)添加到小时。
你应该尝试:
this.hours = (sum % 24);
你会用分钟和秒来做同样的事情。