将军事时间加在一起不起作用 - JAVA

时间:2015-04-15 02:04:06

标签: java class methods time clock

我试图用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);
    }
}

如果您需要查看/知道其他任何事情来帮助我,请告诉我。感谢。

1 个答案:

答案 0 :(得分:2)

this.hours += (sum % 24);

将结果(例如,小时为23,h为5,因此28%24 = 4,小时= 23 + 4)添加到小时。

你应该尝试:

this.hours = (sum % 24);

你会用分钟和秒来做同样的事情。