如果语句在比较整数时总是返回true - Lehmann算法/测试

use*_*493 -1 java

我正在实现一个生成数字的方法,并使用Lehmanns方法检查它是否为素数.除了我检查它是否是最佳之外,我得到了一切.因此n是随机生成的数字,而prime是运行Lehmanns算法后的结果.基本上,如果它的结果​​是,1或者-1 mod n它可能是素数.Java不喜欢负面模块,并且-1 mod n总是n -1如此,所以我做了这样的检查:

       int n = 7;
       int prime = 6;
    if(prime != 1 || prime != n - 1)
    {
        System.out.println("here");
    }
Run Code Online (Sandbox Code Playgroud)

现在的问题是,即使我设置prime为它,它仍然打印"在这里" 1.我可能只是累了,因为它很简单,我很想念.

Jor*_*lla 7

您正在检查OR ||条件...使用AND&&

if(prime != 1 && prime != n - 1)
Run Code Online (Sandbox Code Playgroud)