我试图用Java制作一个显示军事时间的时钟类,我的老师给了我们一个ClockTester.java,它使用了我们的时钟“引擎”。我已经正确显示它,但是我无法正确添加时间。
它们都显示在军事时间,因此添加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);
}
}
如果您需要其他帮助,请告诉我。谢谢。
最佳答案
this.hours += (sum % 24);
将结果相加(例如,小时为23,h为5,因此28%24 = 4,小时= 23 + 4)。
你应该试试 :
this.hours = (sum % 24);
您将用几分钟和几秒钟来做同样的事情。