哈喽大家好,这里是java小白成长记!

昨天分享了用java怎么判断一个数是不是质数,看完是不是觉得也并不是很难,今天分享怎么输出1000以内的所有质数,而且每行只有8个数字。

首先判断数字的代码就不用写了,把昨天的拿过来就可以了:

Boolean siZhiShu=true;for (int i=2;i<n;i ){ if (n % i==0){ siZhiShu=false; break; }

}

现在是要判断1000以内的所有数字,因此在外面就要增加一个for循环,把1000内的所有数字都判断一遍。

for (int k=2;k<=1000;k ){ boolean siSuShu=true; for (int i=2;i<k;i ){ if (k%i==0){ siZhiShu=false; break; } }

}

这里要把Boolean的定义写到第一个循环里面,保证每次进入循环,Boolean siZhiShu的初始值都为true。

接下来就可以输出结果了,和昨天道理一样,如果siZhiShu为true,表示这个数字是质数,直接输出就行了。可是我们还有一个要求,每行只能有8个数字,所以输出数字的时候要用print,不能用println。还要输出8个数字就要换行,所以该开始要定义一个变量初始值为0,每输出一个数字就加1 ,当它是8 的倍数的时候,就换行。怎么判断是不是8 的倍数?对8 求余数啊,结果为0 就是8 的倍数。

如何用java输出10000以内的完全数(用java输出1000以内所有的质数)(1)

如何用java输出10000以内的完全数(用java输出1000以内所有的质数)(2)

每行8 个数字,而且都是质数,所以代码完全没有问题,只是有强迫症就难受了,前几行看着不够整齐。前几行怎么能够整齐,我还没有研究出来,还请哪个大佬可以指教一下 ,感谢!

今天的分享就到这里了,赶快自己去试试吧!

,