暗黙のパラメータであるintnumberがプログラムで使用されることはないようです。このコードを試してください:
private static int countPrimes(int number){
int count =0;
int countPrimes=0;
if(number<2)
return 0;
for(int i=2; i<=number; i++) { //start i=2, because you know that 1 is not a prime number.
for(int j=1; j<=i; j++){
if(i%j==0)
count++;
}
if(count ==2)
countPrimes++;
count=0;
}
return number;
}
次に、ランナーメソッドで次を呼び出します。
int numOfPrimes = countPrimes(10000);
この中で、あなたはあなたが数えたい数を変えることができます。この例では、10000までの素数をカウントします。
int numOfPrimes = countPrimes(100);
これにより、最大100の素数がカウントされます。素数を追跡する場合は、プログラムに次を追加できます。
ArrayList<Integer> listOfPrimes = new ArrayList<Integer>();
private static int countPrimes(int number){
int count =0;
int countPrimes=0;
if(number<2)
return 0;
for(int i=2; i<=number; i++) { //start i=2, because you know that 1 is not a prime number.
for(int j=1; j<=i; j++){
if(i%j==0)
count++;
}
if(count ==2){
countPrimes++;
listOfPrimes.add(i);
}
count=0;
}
return number;
}
あなたの番号を取得するために、あなたはこのようなことをすることができます:
System.out.println("Exactly "+ countPrimes(number) + " prime numbers exist between "+ "1" + " and " + number + ".");
System.out.println("These numbers are: ");
for(int i =0; i<listOfPrimes.size();i++){
System.out.println(listOfPrimes.get(i));
}