0

我正在尝试在 Java 中构建一个素数数组。

if(c % 2 != 0 || c % 3 != 0 || c % 5 != 0) {
     n.add(c);
}

但我的程序似乎忽略了这个条件,只是将每个数字都添加到我的列表中。但如果我只使用一个条件,例如,

if(c % 2 != 0)

该代码可以完美地忽略任何 2 的倍数的数字。我在这里缺少什么?

4

2 回答 2

2

您需要使用逻辑与 ( &&) 而不是 or( ||),因为您希望在添加之前所有条件都为真。

使用逻辑或,从左到右评估每个条件,直到找到匹配的条件。

于 2010-02-24T15:55:20.417 回答
1

如果该数字不能被 (2,3,5) 中的任何一个整除,则您的条件现在评估为 true。这适用于除(全部)2、3 和 5 的倍数之外的所有数字。尝试逻辑与 ( &&) 而不是逻辑或 ( ||)。

于 2010-02-24T15:56:02.573 回答