Я нашел несколько упражнений по программированию, но это не решило. Программа принимает входные данные как целое число, а затем суммирует количество простого числа, которое вы даете. Я знаю, что код неудачен, но пока я пытаюсь отладить его, что-то интересное, если я запускаю прокомментированные функции println, то l oop занимает вечность и никогда не завершается. Может кто-нибудь объяснить, почему?
static void problem11() {//summing prime numbers
System.out.println("how many numbers do you want?");
int aim = scanner.nextInt();
int count = 0;
int datum = 2;
int sum = 0;
while(count<aim) {
boolean prime = true;
for(int i=datum-1; i>=2; i--) {
**//System.out.println("inside for, datum: " + datum);**
if(datum%i==0)
**//System.out.println(datum +" is not a prime number");**
prime = false;
}
if(prime) {
System.out.println("one prime found");
count++;
sum += datum;
}
datum++;
}
System.out.printf("\nSum of first %d prime numbers is: %d", aim, sum);
}
Спасибо @Andy, @MauricePerry и @Nevexis. Да, я знаю, что должен использовать фигурные скобки, но я пытаюсь сократить свой код для удобства чтения, но, как новичок, я, вероятно, держусь на безопасной полосе.