Я пытаюсь создать программу, которая складывает все простые числа до определенной суммы. Когда я строил свою программу, я столкнулся с проблемой. Всякий раз, когда я пытаюсь напечатать все простые числа ниже 10, он печатает их, а также 4. Я не могу понять из любви ко мне, почему 4 печатается. Ребята, можете ли вы помочь мне решить эту проблему?
Мой код здесь:
private static boolean isPrime = false;
private static int sum = 0;
public static void main(String[] args) {
addPrimeNumbers();
}
private static void addPrimeNumbers(){
for(int n = 2; n < 10; n++){
if(checkIfPrime(n)){
System.out.println(n); // here it prints out all odds numbers below 10 and 4
sum += n;
}
}
}
private static boolean checkIfPrime(int potentialPrimeNumbeer) {
for (int i = 2; i < potentialPrimeNumbeer / 2; i++) {
if (potentialPrimeNumbeer % i == 0) {
return false;
}
}
return true;
}
Выход:
2
3
4
5
7