如果变量等于1(java)

时间:2013-11-02 14:34:41

标签: java if-statement conditional-statements

在我的代码结束时,我想检查用户是否想要再次尝试所有内容。所以我问 他们输入1.我想检查输入是否为1,如果是,我再次运行程序。

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

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

即使输入了不同于1的数字,它仍会执行run();。 如果输入数字是1,我只希望它这样做。

我显然犯了一个菜鸟错误,但我似乎无法弄清楚它是什么。有什么指针吗?

2 个答案:

答案 0 :(得分:3)

多数民众赞成因为函数运行无论如何都可以访问,请注意“;”

您的代码

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();
}

答案 1 :(得分:3)

您的if语句将在;结尾处以if (input == 1);的外观进行屏蔽 实际上,您的run方法就像:

{
run();
}

将永远执行。