获取到质数之后,如何将获取的质数加入到数组array1中

#获取到质数之后,如何将获取的质数加入到数组array1中

class main13{
    public static void main(String[] args) {
        int array1[]=new int[8];
        int array2[];
        boolean flag=true;
        for (int i = 2; i <20 ; i++) {
            for (int j = 2; j <i ; j++) {
                if (i%j==0){
                    flag=false;
                }
            }
                if (flag){
                    System.out.print(i+",");
                }
                for (int j = 0; j < array1.length; j++) {
                array1[j]=i;

            }
                flag=true;
        }
        System.out.println(Arrays.toString(array1));
    }
}

我想的是遍历然后一个个传进去,但是传进去的只有最后一个值。
运行结果:
2 3 5 7 11 13 17 19
[19, 19, 19, 19, 19, 19, 19, 19]
请问:如何才能将所有的结果写入到数组array1中?


import java.util.*;

public class A {

    public static void main(String[] args) {
        int array1[] = new int[8],n = 0;
        boolean flag = true;
        for (int i = 2; i < 20; i++) {
            flag = true;
            for (int j = 2; j < i; j++) {
                if (i % j == 0) {
                    flag = false;
                    break;
                }
            }
            if (flag) {
                System.out.print(i + ",");
                array1[n++] = i;
            }
        }
        System.out.println(Arrays.toString(array1));
    }
}


public class Test {
    public static void main(String[] args) {
        int[] array1 = new int[8];
        boolean flag;
        int p = 0;
        for (int i = 2; i < 20; i++) {
            flag = true;
            for (int j = 2; j < i; j++) {
                if (i % j == 0) {
                    flag = false;
                    break;
                }
            }
            if (flag) {
                System.out.print(i + ",");
                array1[p++] = i;
            }
        }
        System.out.println("\n" + Arrays.toString(array1));
    }
}

输出示例:

img