代码如下:
public class all_prime_number {
public static void main(String[] args) {
int z=0;
int k=0;
int temp;
Scanner sc=new Scanner(System.in);
System.out.println("传入2个数,输出2个数范围内的所有素数,比如100-200之间。");
System.out.println("输入第一个数");
int min=sc.nextInt();
System.out.println("输入第二个数");
int max=sc.nextInt();
//小数在前 大数在后
if(min>max){
temp=min;
min=max;
max=temp;
}
for(int i=min;i<=max;i++){
int flag=0;
for(int j=2;j<=i/2;j++){
if(i%j==0)
{
flag=1;
break; //注意这里只要有一个能被它整除的数就应该退出循环
}
}
if(flag==0){
System.out.println(i+" ");
}
}
}
}
这里引入了哨兵flag,初始化为0;当判断不是素数的时候,flag赋值为1,返回上一层循环,并赋值为0;