分析Java中的素数输出。未按预期获得输出 公共类Chpt5_项目{ 公共静态void main(字符串[]args){ //声明变量 int随机数=0; 整数和=0; //循环生成数字并打印出数字 System.out.print(“五个随机数是:”); 对于(int i=0;i
您需要为循环添加分析Java中的素数输出。未按预期获得输出 公共类Chpt5_项目{ 公共静态void main(字符串[]args){ //声明变量 int随机数=0; 整数和=0; //循环生成数字并打印出数字 System.out.print(“五个随机数是:”); 对于(int i=0;i,java,Java,您需要为循环添加的括号,然后在if语句中添加break语句 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 f
的括号,然后在if语句
中添加break
语句
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;
}
}
}
用于(int divisor=2;divisor您忘记问问题了…代码转储而不解释您试图执行的操作通常不是一个好主意。抱歉,我对这一点还是新手。我不明白为什么当数字结果不是质数时,我会从两个打印行中获得输出。当结果是质数时,输出与预期一样。我做错了什么?请用所有这些信息编辑您的原始问题。您的缩进非常可怕,很可能是您的逻辑错误的原因,因为您无法轻松看到程序流程。您应该在设置isPrime=false
时中断,然后在循环结束后打印。它没有正确复制和粘贴这是问题的一部分,剩下的是我对这个问题还是很陌生。我很感谢你抽出时间给我你的意见,我现在正在修正缩进。再次感谢!谢谢,看起来这解决了我的问题。非常感谢!
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;
}
}