java大神看看,microbit手表,为什么到了60分钟后,不会+1小时

2020-03-135506
AI 快速预览详细 收起
本文讨论了使用Micro:bit制作手表时遇到的一个常见问题:60分钟后不会自动加1小时。通过分析代码逻辑,发现问题是由于if条件判断不准确导致的。文章提供了具体的解决方案,即将`if (min == 60)`改为`if (min >= 60)`,从而确保时间计时的准确性。此外,还介绍了如何通过按钮和手势控制时间调整,以及如何显示当前时间。
input.onButtonPressed(Button.A, function () {
    if (min < 59) {
        min += 1
    } else if (min == 60) {
        min = 0
        hours += 1
    }
})
input.onButtonPressed(Button.B, function () {
    if (hours < 23) {
        hours += 1
    } else if (hours == 24) {
        hours += 0
    }
})
input.onGesture(Gesture.Shake, function () {
    if (min == 60) {
        min = 0
        hours += 1
    } else {
        if (hours == 24) {
            min = 0
            hours = 0
        }
    }
    time = "" + hours + ":" + min
    basic.showNumber(0)
})
let hours = 0
let min = 0
let time = ""
time = ""
min = 0
hours = 0
basic.forever(function () {
    basic.pause(60000)
    min += 1
    if (min == 60) {
        min = 0
        hours += 1
    } else {
        if (hours == 24) {
            min = 0
            hours = 0
        }
    }
})



创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -