![]() |
在Java中判断一个整数是否为素数,可以通过试除法来实现。试除法的基本原理是:对于一个待判断的数`n`,如果`n`不是素数,则可以找到一个小于等于`√n`的整数`k`,使得`k`能够整除`n`。基于这个原理,我们可以编写一个函数来检查输入的整数是否为素数。 以下是实现该功能的步骤和代码示例: 1. 接收一个整数作为输入: 可以通过`Scanner`类来接收用户输入的整数。 2. 编写一个函数来检查输入的整数是否为素数: 定义一个函数`isPrime`,该函数接受一个整数作为参数,并返回一个布尔值,表示该整数是否为素数。 3. 在函数中,遍历从2到输入数的平方根的所有整数,检查它们是否是输入数的因子: 使用`for`循环从2遍历到`√n`,对于循环中的每个数`i`,检查`n % i`是否等于0。 4. 如果找到任何因子,则返回该数不是素数: 如果在遍历过程中找到了一个数`i`,使得`n % i == 0`,则说明`n`不是素数,返回`false`。 5. 如果没有找到因子,则返回该数是素数: 如果遍历完所有数都没有找到因子,则说明`n`是素数,返回`true`。 以下是完整的代码示例: ```java import java.util.Scanner; public class PrimeChecker { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个整数:"); int num = scanner.nextInt(); scanner.close(); if (isPrime(num)) { System.out.println(num + " 是素数"); } else { System.out.println(num + " 不是素数"); } } public static boolean isPrime(int n) { if (n <= 1) { return false; // 1 和负数都不是素数 } for (int i = 2; i <= Math.sqrt(n); i++) { if (n % i == 0) { return false; // 找到因子,不是素数 } } return true; // 没有找到因