高分悬赏了,在线等!!Java语言程序设计,输出1-200以内所有的质数,并且每5个换一行,每个之间有一个空格

高分悬赏了,在线等!!Java语言程序设计,输出1-200以内所有的质数,并且每5个换一行,每个之间有一个空格

你好,这是我刚刚写好的代码,求素数的方法使用的是Eratosthenes筛选法
代码如下

    public class Main
    {
            public static void main(String[] args){
                    //使用Eratosthenes筛选法,从a[2]到a[200],每个值为0的a[i]的i就是素数
                    int[] a = new int[205];
                    for (int i = 2; i <= 200; i++)
                            if (a[i] == 0)
                                    for (int j = 2; j * i <= 200; j++)
                                            a[j * i] = 1;
                    //准备好控制格式所需要的一些变量
                    int counter = 0;

                    //开始打印
                    for (int i = 2; i <= 200; i++){
                            //判断是否为素数
                            if (a[i] == 0){
                                    //格式控制,如果counter!=0,则打印一个空格
                                    if (counter != 0)
                                            System.out.print(" ");
                                    //打印素数
                                    System.out.print(i);
                                    //计数器 + 1
                                    counter++;
                            }
                            //判断是否满足换行条件
                            if (counter == 5){
                                    //换行
                                    System.out.println();
                                    //重置计数器
                                    counter = 0;
                            }
                    }
            }
    }

如果有什么疑问的话,可以说出来