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

Java 在条件为true时将元素从一个数组插入到另一个数组,java,arrays,Java,Arrays,我使用2个数组。从第一个数组开始,我想检查哪个数字是素数,如果这个数字是素数,那么我想把这个数字插入第二个数组,然后我想打印第二个数组 在这里,它只插入第一个数组的第一个元素,不管它是否为素数,但我只想在它为素数时插入 import java.util.*; class test { public static void main(String args[]) { int[] a1={9,5,7,3,4,6}; int[] a2=new int[

我使用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]);
        }
    }
}
import java.util.*;
课堂测试
{
公共静态void main(字符串参数[])
{
int[]a1={9,5,7,3,4,6};
int[]a2=新的int[4];
int指数=0;
布尔值isprime=true;
//检查素数

对于(int i=0;i问题在于标记isprime。在任何循环之前,它只设置为true一次,当算法处理第一个非素数时,它将永远设置为false。如果将布尔isprime=true;放在第一个循环中,它将工作

见下文:

//to check for prime
for(int i=0;i<a1.length;i++)
{
   boolean isprime=true;
   //rest of the program
}
//检查素数的步骤

对于(int i=0;我非常感谢你