package com.st.test;
import java.util.Scanner;
public class demo07 {
public static void main(String[] args) {
//求任意两个数之间的素数
System.out.println("请输入两个数");
Scanner sc = new Scanner(System.in);
int start = sc.nextInt();
int end = sc.nextInt();
prime(start,end);
}
//定义一个方法
public static void prime(int start, int end) {
for(int i = start; i <= end; i++) {
//素数是一个大于1的数
if(i < 2) {
//一定不是素数
continue;//后面的也不用判断力
}
//定义一个标志
boolean is = true;
//2 --i-1之间没有因数
for(int j = 2; j < i; j++) {
if(i % j == 0) {
//一定是合数,不是素数
is = false;
break;
}
}
//循环完之后,is = true,则说明i是素数
if(is) {
System.out.println(i);
}
}
}
}
为什么不 for(int j = 2; j < i; j++) {
if(i % j == 0) {
//一定是合数,不是素数
is = false;
break;
}else{
system.out.println(“i”);
}
}
因为必须要让这个循环执行完,才能判断是素数。
例如 9 9 % 3 == 0
不执行完循环只能判断不是素数。