开发者社区> 问答> 正文

在条件为真时将元素从一个数组插入到另一个数组

我正在使用2个数组。从第一个数组开始要检查哪个数字是素数,如果这个数字是素数,那么我想将该数字插入第二个数组,然后打印第二个数组。

在这种情况下,它仅插入第一个数组的第一个元素,无论它是否为素数,但我只想插入为素数的元素。

import java.util.*;

class test { public static void main(String args[]) { int[] a1={9,5,7,3,4,6}; int[] a2=new int[4]; int index=0; boolean isprime=true; //to check for prime for(int i=0;i<a1.length;i++) { //System.out.println(a1[i]); for(int j=2;j<a1[i];j++) { if(a1[i]%j==0) { isprime=false; break; } } //to add into another array if(isprime) { a2[index++]=a1[i];

            }
    }

    for(int k=0;k<a2.length;k++)
    {
        System.out.println(a2[k]);
    }
}

}

展开
收起
小六码奴 2019-10-10 18:29:04 723 0
1 条回答
写回答
取消 提交回答
  • 问题在于您标记isprime。仅在任何循环之前将其设置为true,并且当算法将处理第一个非素数时,它将永远设置为false。如果您输入boolean isprime = true; 在第一个循环内它起作用。

    见下面:

    //to check for prime for(int i=0;i<a1.length;i++) { boolean isprime=true; //rest of the program }

    2019-10-10 18:29:39
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载