将军事时间加在一起不起作用 - 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);

您可以对分和秒执行相同的操作。