嗨,我在java中有以下if条件
if ((i%3)==0)
do some work
else if ((i%3 || i%5)==0)----syntax error appears on this line
do some work
它向我显示以下语法错误... 此行有多个标记 - 运营商||对于参数是未定义的 type(s)int,int - 令牌“OR”上的语法错误,。预期 - 我无法解决或不是一个领域
任何人都可以告诉我如何解决这个问题?
答案 0 :(得分:6)
您无法指定多个条件。 ||
运算符仅对boolean
值进行操作;它不能按照您希望的方式操作数字。您必须单独指定每个条件:
else if ((i%3 == 0) || (i%5 == 0))
在英语中,我们会说" i
是3或5"的倍数。我们会知道你的意思。它在Java中并没有这样的工作方式。你必须更明确。所需的Java代码等同于" i
是3的倍数,或i
是5"的倍数。
答案 1 :(得分:1)
您必须与条件的每个部分进行比较。在这种情况下,您的else if
应该如下所示
else if (i%3 == 0 || i%5 == 0)
答案 2 :(得分:0)
||
运算符只能用于bool类型。 i%3
是一个整数。
答案 3 :(得分:0)
逻辑运算符只能应用于布尔条件。你正在应用两个整数的OR条件。如果你的i是10,那么i%3 = 1而i%5 = 0.那么你正在评估(1 || 0)。如果你真的想这样做那么你应该使用按位运算符(|)。否则,请使用已在第一个if部分中使用的括号。所以它将是
else if((i%3 == 0) || (i%5 == 0))
or
else if((i%3 | i%5) == 0)
由于