0

Javaで素数の配列を作成しようとしています。

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

しかし、私のプログラムは条件を無視しているようで、すべての番号をリストに追加するだけです。しかし、たとえば1つの条件を使用すると、

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 に答える