嗨,我在 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
它向我显示了以下语法错误......这一行有多个标记 - 运算符 || 未定义参数类型 int, int - 标记 "OR" 上的语法错误,. 预期 - 我无法解决或不是一个字段
谁能告诉我如何解决这个问题?
嗨,我在 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
它向我显示了以下语法错误......这一行有多个标记 - 运算符 || 未定义参数类型 int, int - 标记 "OR" 上的语法错误,. 预期 - 我无法解决或不是一个字段
谁能告诉我如何解决这个问题?
您不能像这样指定多个条件。||
运算符boolean
仅对值进行操作;它不能以您希望它们操作的方式对数字进行操作。您必须单独指定每个条件:
else if ((i%3 == 0) || (i%5 == 0))
在英语中,我们会说“i
是 3 或 5 的倍数”,我们会知道您的意思。它在 Java 中不是这样工作的。你必须更明确。所需的 Java 代码相当于“i
是 3i
的倍数还是 5 的倍数”。
您必须与条件的每个部分进行比较。在这种情况下,您else if
应该看起来像这样
else if (i%3 == 0 || i%5 == 0)
运算符||
只能用于布尔类型。i%3
是一个整数。
逻辑运算符只能应用于布尔条件。您正在对两个整数应用 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)
谢谢