gpt4 book ai didi

java - JAVA 中的时钟循环帮助

转载 作者:行者123 更新时间:2023-12-01 22:51:27 26 4
gpt4 key购买 nike

我需要一些帮助来解决我的时钟问题。我对逻辑感到困惑。基本上,我想做的就是这个。如果给定的输入是:23:25:55,当第二个达到60时,它应该变成00并添加+1 精确到分钟。但是,它会打印 23:25:60,并且只有在 Netbeans 上按 OK 后,它才会变为 23:26:00。如果60不再出现就更好了。以下是我在类里面使用的方法。

public  void incHour(){
hr++;

if (hr == 24){
hr = 0;
}
printTime();
}

public void incMinute(){
min++;

if (min > 59){
incMinute();
min = 0;
}
printTime();
}

public void incSecond(){
sec++;

if (min > 59){
incMinute();
sec = 0;
}
printTime();
}

最佳答案

您有一堆复制和粘贴错误。在 incMinute() 中,更改为

if (min > 59){
incHour(); //changed from incMinute();

并在incSecond()中,更改为

if (sec > 59){ //changed from if (min > 59){
incMinute();

编辑

The 60 still shows up.

这是因为当 sec > 59 时,您将其增加到 60,然后也从 incMinute() 方法调用 printTime() 。首先进行归零,然后添加一个像这样的 else 子句以仅打印一次。您必须对 incMinute() 方法进行相同的更改:

public void incSecond(){
sec++;
if (sec > 59){
sec = 0;
incMinute();
} else {
printTime();
}
}

关于java - JAVA 中的时钟循环帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24678575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com