我的 Java 代码“if 语句”出现不需要的输出(标题太长,无法描述)

编辑:添加更多代码

(对java非常陌生,我没有任何教科书。我正在根据我在网上找到的内容拼凑它是如何工作的,请友善。)

我正在尝试为我在大学的 Java 课程制作一个“时间计算器”。(这是我们的任务)。我必须像这样输出:(天)HH:MM:SS。如果没有“天”,则为 HH:MM:SS,如果没有“小时”,则为 MM:SS,依此类推。

然而,在我的代码中,我的 if 语句只有几秒钟,没有分钟、小时或天,因此无法正确执行。如果我输入 40 秒,它将输出:0:00:40 小时。我该如何解决?我知道 If/If else 语句有问题。

我试图通过输入 1-60 之间的各种数字来找出问题,但它总是返回“0:00:(1-60) 小时”。我不知道从哪里开始解决这个问题。

final int x = 9;

final int n_Days;

final int n_Hours;

final int n_Minutes;

final int n_Seconds;


n_Days = total_seconds / 86400;

n_Hours = (total_seconds % 86400 ) / 3600;

n_Minutes = ((total_seconds % 86400 ) % 3600 ) / 60;

n_Seconds = ((total_seconds % 86400 ) % 3600 ) % 60;


if (n_Days == 0) {


    if (n_Minutes < x || n_Seconds < x) {

    String padded = String.format("%02d" , n_Minutes);

    String padded2 = String.format("%02d" , n_Seconds);


    System.out.print("You entered " + total_seconds + " seconds, which is " + n_Hours + " hours, " + n_Minutes + " minutes, and " +  n_Seconds + " seconds.");

    System.out.print("\n");

    System.out.print(n_Hours + ":" + padded + ":" + padded2 + " hours.");

    }

}

else if (n_Days == 0 && n_Hours == 0) {


    if (n_Minutes < x || n_Seconds < x) {

    String padded = String.format("%02d" , n_Minutes);

    String padded2 = String.format("%02d" , n_Seconds);


    System.out.print("You entered " + total_seconds + " seconds, which is " + n_Minutes + " minutes, and " +  n_Seconds + " seconds.");

    System.out.print("\n");

    System.out.print(padded + ":" + padded2);

        }

}


else if (n_Days == 0 && n_Hours == 0 && n_Minutes == 0) {



    System.out.print("You entered " + total_seconds + " seconds, which is " +  n_Seconds + " seconds.");

    }


    }

}


如果我输入的总秒数小于 60,那么我希望第二个“else-if”语句像这样执行:


“你输入了30秒,就是30秒。”


慕的地8271018
浏览 88回答 1
1回答

绝地无双

if&nbsp;(n_Days&nbsp;==&nbsp;0)这是你的第一个if声明。如果n_Days是0,它将被执行,而且最重要的是 -else语句永远不会被执行。因此, if&nbsp;n_Daysis0和n_Hoursis&nbsp;0tooif (n_Days == 0)都会被执行,并且else if...- 语句将被跳过。您只需更改语句的顺序 - 或嵌套它们 - 就可以了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java