[Java]用java输出1000以内所有的质数,每行还必须只有8 个!


[Java]用java输出1000以内所有的质数,每行还必须只有8 个!
文章图片
哈喽大家好 , 这里是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]用java输出1000以内所有的质数,每行还必须只有8 个!】
每行8 个数字 , 而且都是质数 , 所以代码完全没有问题 , 只是有强迫症就难受了 , 前几行看着不够整齐 。 前几行怎么能够整齐 , 我还没有研究出来 , 还请哪个大佬可以指教一下, 感谢!
今天的分享就到这里了 , 赶快自己去试试吧!