我正在尝试制作一个 void 方法,可以打印素数到给定的 int 参数。这就是我所拥有的,但它不起作用。
public class listPrimes {
public static void main(String[] args) {
printPrimes(1000);
}
static void printPrimes(int max) {
int counter = 0;
for (int i = 2; i <= max; i++) {
for (int n = 2; n < i; n++) {
if (i % n == 0) {
counter++;
}
}
if (counter == 0) {
System.out.println(i);
counter = 0;
}
}
}
}
我能够使用以下两种方法创建所需的效果,但我想用一种方法来实现。我上面的代码有什么问题?
public class listPrimes {
public static void main(String[] args) {
printPrimes(1000);
}
private static void printPrimes(int max) {
for (int i = 2; i <= max; i++) {
if (primeCheck(i)) {
System.out.println(i);
}
}
}
static boolean isPrime(int check) {
for (int i = 2; i < check/2; i++) {
if (check % i == 0) {
return false;
}
}
return true;
}
}