0から100までの素数を求めたいのですが、2しか素数として出力されません。
素数の判定はfor(i = 0; i <= MAX; i++)この部分で行っています。
なぜ最初の2しか出力されないのでしょうか? 教えてください。
public class chart3a
{
final static int MAX = 100;
public static int i = 0;
public static int j = 0;
public static int[] array = new int[100];
public static void main( String[] args ) { for(i = 0; i <= MAX; i++) { if(SosuCheck(i)) { array[j] = i; j = j + 1; } } //出力 for(i = 0; i < j; i++) { System.out.print(array[i] + " "); } } public static boolean SosuCheck(int i) { if(i == 2) { return true; } //判定数値を偶数で割れた場合は奇数ではない if(i % 2 == 0 || i < 2) { return false; } for(int kisuu = 3; kisuu <= MAX; kisuu += 2 ) { if(i % kisuu == 0 ) { return false; } } return true; }
}