哈喽大家好,这里是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 的倍数。
上面就是整体的代码,因为都是昨天的内容,只是有一点小小的修改,所以没有太多的代码解释,看下输出的结果:
每行8 个数字,而且都是质数,所以代码完全没有问题,只是有强迫症就难受了,前几行看着不够整齐。前几行怎么能够整齐,我还没有研究出来,还请哪个大佬可以指教一下 ,感谢!
今天的分享就到这里了,赶快自己去试试吧!