首先素数的概念:一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除
1不是素数,只能被1和自身整除的数才是素数(也叫质数)
理论上,1能被1整除.也能被自身1整除,但在数学领域里.规定1不是素数。
实现步骤
- 为了能够每次运行时都可以定义查找素数的范围,所以用键盘录入
- 通过键盘录入录入一个查找范围,并且循环这个范围的每一个数字
- 每循环一个数字,对这个数字进行取余操作(只要取余结果==0则不是素数)
- 这个时候就与要定义一个boolean类型的变量,这个变量的初始值设为true(下面说原因)
- 取余操作,因为要对当前数字下除了1和本身外所有数字进行取余操作,所以再使用一个循环进行取余(取余结果等于零说明这个数不是素数,这个时候返回一个false,反之变量值不变)
- 取余这个循环完成后判断boolean变量==true,等于true说明是素数,打印输出
public static void main(String[] args) {
// 键盘录入
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个开始的数字");
int i = sc.nextInt();
System.out.println("请输入一个结束的数字");
int j = sc.nextInt();
// 因为每次循环都要重新赋值使用,所以定义在循环外面(这样就不用不断的创建变量了
boolean boo;
// 循环范围内的数值
for (int x = i; x <= j; x++) {
// 给变量赋值为true,每次循环开始时都会重新赋值为ture
boo = true;
// 取余排除1和数值本身
for (int y = 2; y < x; y++) {
// 取余等等于零说明不是素数,返回false
if (x % y == 0) {
boo = false;
}
}
//判断boo==false说明不是素数则跳过,反之进入打印输出
if (boo) {
System.out.println(x);
}
}
sc.close();
}
来源:CSDN
作者:涂墨
链接:https://blog.csdn.net/m0_46437589/article/details/104628486