指定された int 引数までの素数を出力する void メソッドを作成しようとしています。これは私が持っているもので、機能していません。
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;
}
}
}
}
以下の2つの方法を使用して目的の効果を作成できましたが、1つでやりたいです。上記のコードの何が問題になっていますか?
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;
}
}