4 回答

TA贡献1851条经验 获得超3个赞
您的isPrime(int)函数应如下所示:
public static boolean isPrime(int n) {
for (int div = 2; div < n; div++) {
if (n % div == 0) { // n is not prime
return false;
} else {
return true;
}
}
return false;
}
您的实施不起作用,因为:
你没有
boolean
从函数中返回Java 是按值传递的,因此您的变量
isPrime
不会更新
还要确保不要混淆素数和奇数之间的差异。

TA贡献1833条经验 获得超4个赞
您的实施不起作用,因为:
你没有boolean从函数中返回
Java 是按值传递的,因此您的变量isPrime不会更新
还要确保不要混淆素数和奇数之间的差异。

TA贡献1873条经验 获得超9个赞
public class lab7 {
public static boolean isPrime(int n,boolean isPrime){
for (int div = 2; div < n; div++) {
if (n % div == 0) { // n is not prime
isPrime = false;
div = n;
}else{
isPrime=true;
}
}
return isPrime;
}
// This program prints out the first 100 prime numbers
public static void main(String[] args) {
int count = 0;
int n = 1;
boolean isPrime=true;
// loop that iterates 100 times
while (count <= 100) {
// Use the isPrime method to check whether
// the number n is prime or not
if (isPrime(n, isPrime)) {
System.out.println(n + " is prime");
count++;
}
// move on to the next n
n++;
}
}
}
我已经更正了代码。请检查。
添加回答
举报