Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
分析Java中的素数输出。未按预期获得输出 公共类Chpt5_项目{ 公共静态void main(字符串[]args){ //声明变量 int随机数=0; 整数和=0; //循环生成数字并打印出数字 System.out.print(“五个随机数是:”); 对于(int i=0;i_Java - Fatal编程技术网

分析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;
         }
}