有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

if语句if变量等于1(java)

在我的代码末尾,我想检查用户是否想再试一次。所以我问 输入1。我想检查输入是否为1,如果是,我再次运行程序

问题是,它忽略了该条件,并且总是决定再次运行该程序

int input = readInt("1 = yes, 0 = no: ");
if (input == 1); {
    run();
}

即使输入了不同于1的数字,它仍然执行run();。 我只希望它在输入数字为1时这样做

很明显,我犯了一个新手错误,但我似乎不知道这是什么。有什么建议吗


共 (2) 个答案

  1. # 1 楼答案

    这是因为函数运行无论如何都是可访问的,请注意“;”

    你的代码

    int input = readInt("1 = yes, 0 = no: ");
    if (input == 1); { // checks if input is 1, executes run anyhow
        run();
    }
    

    改为这样做

    int input = readInt("1 = yes, 0 = no: ");
    if (input == 1) { // checks if input is 1, then executes run
        run();
    }
    
  2. # 2 楼答案

    if语句将被阻塞,在if (input == 1);末尾出现; 实际上,您的run方法类似于:

    {
    run();
    }
    

    这将始终被执行