package com.zhang.projectcases;
//编写1~1000里有多少个素数
public class PrimeNumber2{
public static void main(String[] args) {
//判断7是否为素数
/* int i =7; //定义一个质数的初始化变量
boolean isSuShu = true; //默认将i看做一个素数
for(int j=2;j<i;j++){ //定一个循环判断7是否为质数 j可以取 2 3 4 5 6
if (i%j ==0){
isSuShu =false; //非素数
break; //已经判断i为非素数时,跳出循环
}
}
System.out.println(isSuShu?i+"是素数":i+"不是素数"); //如果isSuShu为true证明7是素数,否则7不是素数*/
//判断1~100里面的有多少个素数
//外部循环只负责取出每一个数字i
/* for (int i = 2; i <=100 ; i++) {
//下面这些代码只是判断i是否为素数
boolean isSuShu = true; //默认将i看做一个素数
for(int j=2;j<i;j++){
if (i%j ==0){
isSuShu =false; //非素数
break; //已经判断i为非素数时,跳出循环
}
}
if (isSuShu){ //如果为true的话,就相当于为素数
System.out.println(i);
}
}*/
System.out.println("=============第一种方式==============");
//判断出1~100里的所有的素数
//并且每8个换一行
int count=0; //加入统计元素,统计次数
for (int i = 2; i <=100 ; i++) {
//下面这些代码只是判断i是否为素数
boolean isSuShu = true; //默认将i看做一个素数
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isSuShu = false; //非素数
break; //已经判断i为非素数时,跳出循环
}
}
if (isSuShu) { //如果为true的话,就相当于为素数
count++; //如果是质数就次数就加1
System.out.print(i+"\t");
if (count%8==0){ //判断次数对8取余数,余数为0就可以进入换行
System.out.println();
}
}
}
System.out.println();
System.out.println("=============第二种方式==============");
int count1=0; //加入统计元素,统计次数
for (int i = 2; i <=100 ; i++) {
//下面这些代码只是判断i是否为素数
boolean isSuShu = true; //默认将i看做一个素数
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isSuShu = false; //非素数
break; //已经判断i为非素数时,跳出循环
}
}
if (isSuShu) { //如果为true的话,就相当于为素数
count1++; //如果是质数就次数就加1
System.out.print(i+"\t");
if (count1==8){ //判断次数是否等于8个数字,等于0就可以进入换行
System.out.println();
count1=0;
}
}
}
}
}
综合案例:编写for循环找到1~100中所有的素数,并且每8个换一行
于 2022-03-13 14:31:34 首次发布
本文通过一个综合案例,介绍如何使用Java编程找出1到100之间所有的素数。利用for循环遍历数字,通过判断每个数字是否为素数,并在每输出8个素数后换行展示。

1万+

被折叠的 条评论
为什么被折叠?



