首页 > 解决方案 > 任何人都可以帮助纠正我及时倒退的方法吗?

问题描述

这是我发现的允许方法及时前进的代码,但我对如何让它倒退感到困惑。

    while (true) {            
        if (++min == 60) {
            min = 0;
            ++hour;
            hour %= 24;
        }

标签: java

解决方案


您的代码中的错误是您及时前进,而不是后退

需要改变的部分是:

while (true) {
    if (--min < 0) {
        min = 59;
        if (--hour < 0) {
            hour = 23;
        }
    }

请注意,我避免使用%带有负数的运算符。那是因为我只是不记得-1 % 24是不是-1+23。由于编程语言的结果不同,我通常只%在两边都是正数时才使用运算符。

其余的代码看起来很简单,很好地解决了任务。

这项任务本身有点不切实际,但这不是你的错。这仍然是一个很好的锻炼。


推荐阅读