1.需求
判断101-200之间有多少个素数
2.开发流程
1.定义一个循环,找到101-200之间的全部数据
2.判断当前遍历的数据是否为素数
3.根据判断的结构选择是否输出这个数据,是素数则输出
3.代码演示
需求1:判断101-200之间有多少个素数,并输出所有素数。
/***
* 需求:判断101-200之间有多少个素数,并输出所有素数。
*/
public class Test2 {
public static void main(String[] args) {
//1.定义一个循环,遍历101-200之间的所有数据
for (int i = 101; i <=200 ; i++) {
//信号位:标记
boolean flg = true;
//2.判断当前数是否为素数
for (int j = 2; j < i/2; j++) {
//如果有一个能被整除,则不是素数
if(i% j == 0){
flg = false;
break;
}
}
//3.判断结果,是素数返回,不是步返回
if(flg){
System.out.print(i + " ");
}
}
}
}
做了返回素数个数修改
/***
* 需求:判断101-200之间有多少个素数,并输出所有素数。
*/
public class Test2 {
public static void main(String[] args) {
int m =0;
//1.定义一个循环,遍历101-200之间的所有数据
for (int i = 101; i <=200 ; i++) {
//信号位:标记
boolean flg = true;
//2.判断当前数是否为素数
for (int j = 2; j < i/2; j++) {
//如果有一个能被整除,则不是素数
if(i% j == 0){
flg = false;
break;
}
}
//3.判断结果,是素数返回,不是不返回
if(flg){
//如果是素数m的值加1
m+=1;
//为了输出一次素数分别为,加一个判断,就只输出一次
if(m==1){
System.out.print("素数分别为:");
}
//输出所有的素数
System.out.print(i + " ");
}
}
//返回总共的素数
System.out.println("总共有"+m+"个素数");
}
}
升级:需判断n-m之间有多少个素数,并输出所有素数。
/**
* 项目:找素数
* 需求:
* 升级找出n到m之间的素数
*/
public class Test3 {
public static void main(String[] args) {
rePrimes(101,200);
}
public static void rePrimes(int n,int m){
//1.遍历n-m之间的数据
for (int i = n; i <= m ; i++) {
boolean flg = true;
//2.判断当前数据是否为素数
for (int j = 2; j < i/2 ; j++) {
if(i%j==0){
flg = false;
}
}
//3.判断是否需要返回数据,如果是素数返回素数的值,如果不是不返回
if(flg){
System.out.print(i+" ");
}
}
}
}
4.总结
信号位:boolean flg = true的特殊使用
查找素数:
}
}
}
# 4.总结
信号位:==boolean flg = true==的特殊使用
查找素数:
![image-20220915195008497](https://img-blog.csdnimg.cn/img_convert/c4f9e901bab0ed632b256248f60da6a3.png)