我正在尝试编写一个Java程序,该程序确定数组的所有元素是否都是质数。这是我的代码:

boolean allPrimes(int[] ade){
        int i = 0; //counter
        boolean Prime = true; //initial boolean value
        while (i<ade.length && !Prime){
            if (p.isPrime(ade[i])) //function which determines if an int is prime.
                Prime = true;
            else
                Prime = false;
            i=i+1;
            }
        return Prime;
    }


我认为这是不正确的,因为我进行了一些测试并且它们失败了。我究竟做错了什么?谢谢

最佳答案

您像这样初始化了布尔Prime

 boolean Prime = true;


这意味着您永远不会在循环中进入!而是将其初始化为“ false”。
您内部的作业是否也放错了位置。

为了使您的代码正常工作-只需在以下时间内更改第二个条件

while (i<ade.length && !Prime)



while (i<ade.length && Prime)

关于java - 确定数组的所有元素是否都是质数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8279242/

10-16 06:19