/ / Анализ на извеждането на прости числа в Java. Не се получава изход, както се очаква - java

Анализиране на изходното число в Java. Не се получава изход според очакванията - java

public class Chpt5_Project{
public static void main(String[] args) {
// Declare Variables
int randomNumbers = 0;
int sum = 0;
//Loop for number generation and print out numbers
System.out.print("The five random numbers are: ");
for (int i = 0; i <= 4; i++)
{
randomNumbers = (int)(Math.random()*20);
sum += randomNumbers;

if (i == 4) {
System.out.println("and " + randomNumbers + ".");
}
else {
System.out.print(randomNumbers + ", ");
}
}
//Display Sum
System.out.println("nThe sum of these five numbers is " + sum + ".n");

// Test if number is prime
boolean isPrime = true;
for (int divisor = 2; divisor <= sum / 2; divisor++)
if (sum % divisor == 0) { // If true, number is not prime
isPrime = false; // Set isPrime to false

System.out.println("The sum is not a prime number.");}
else {
System.out.println("The sum is a prime number.");
break;
}

}
}

Изходен изход

Петте случайни числа са: 5, 0, 10, 6 и 13.

Сумата от тези пет числа е 34.

Сумата не е просто число. Сумата е просто число.

Отговори:

0 за отговор № 1

Трябва да добавите скоба от for-loop и след това добавете break изявление вътре if-statement.

for (int divisor = 2; divisor <= sum / 2; divisor++){

if (sum % divisor == 0) { // If true, number is not prime
isPrime = false; // Set isPrime to false
System.out.println("The sum is not a prime number.");
break;
}
else {
System.out.println("The sum is a prime number.");
break;
}
}