判断素数的流程
- 输入一个数字
- 使用for循环从2开始遍历到这个数字
- 判断每一个数字是否能整除输入的数字
- 如果有任意一个数字能整除输入的数字,则输入的数字不是素数
- 如果没有任何数字能整除输入的数字,则输入的数字是素数
代码示例
import java.util.Scanner;
public class PrimeNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 输入一个数字
System.out.print("请输入一个数字:");
int number = scanner.nextInt();
// 使用for循环从2开始遍历到这个数字
boolean isPrime = true; // 默认假设输入的数字是素数
for (int i = 2; i < number; i++) {
// 判断每一个数字是否能整除输入的数字
if (number % i == 0) {
isPrime = false; // 如果有任意一个数字能整除输入的数字,则输入的数字不是素数
break; // 跳出循环
}
}
// 如果没有任何数字能整除输入的数字,则输入的数字是素数
if (isPrime) {
System.out.println(number + "是素数");
} else {
System.out.println(number + "不是素数");
}
}
}
代码解释:
- 第3行:导入
Scanner
类,用于接收用户输入的数字。 - 第5行:创建一个
Scanner
对象,用于接收用户的输入。 - 第8行:提示用户输入一个数字,并将用户输入的数字保存在
number
变量中。 - 第11行:创建一个布尔型变量
isPrime
,并默认设置为true
,表示假设输入的数字是素数。 - 第13行:使用
for
循环从2开始遍历到number
。 - 第16行:判断每一个数字是否能整除输入的数字,即
number
是否能被i
整除。 - 第18行:如果有任意一个数字能整除输入的数字,则将
isPrime
设置为false
,表示输入的数字不是素数。 - 第19行:使用
break
跳出循环,不再遍历后续的数字。 - 第22行:如果没有任何数字能整除输入的数字,则
isPrime
仍然为true
,表示输入的数字是素数。 - 第24行:根据
isPrime
的值输出结果,判断输入的数字是素数还是非素数。