Java 程序:检查一个数字是否为素数


2022年4月15日, Learn eTutorial
1854

在这里,我们将解释如何编写 Java 程序来检查一个数字是否为素数。

什么是素数?

素数是指只能被 **1** 和 **它本身** 整除的数字。

示例:2、3、5、7 等。

这里 2 可以被 1 和 2 整除。

3 可以被 1 和 3 整除。

5 可以被 1 和 5 整除。

 

如何实现 Java 程序来检查一个数字是否为素数?

首先,我们必须声明一个带有 **public** 修饰符的 PrimeNumber 类。创建 Scanner 类的对象 sc,并将用户输入的整数读取到变量 **num** 中。创建一个布尔变量 flag 并将其设置为 false。使用 `for 循环`,设置 i=2 并检查 i<=num/2,然后检查素数的条件,即检查 num mod i 是否等于 0。如果它等于 0,则设置 flag=true 并中断。`如果` flag 不等于 true,则使用 `System.out.println()` 函数将其显示为素数,`否则` 显示为非素数。

 

算法

步骤 1:声明带有 **public** 修饰符的类 **PrimeNumber**。

步骤 2:打开 main() 以启动程序,Java 程序执行从 main() 开始

步骤 3:将用户输入的数字读取到变量 **num** 中。

步骤 4:声明 flag 为布尔变量并设置为 false。

步骤 5:使用 `for 循环`,设置 i=2,检查 i<=num/2,执行步骤 6。

步骤 6:检查 **num mod i** 是否等于 0,如果等于 0,则设置 flag=true 并中断。

步骤 7:检查如果 flag 不等于 true,则显示该数字为素数。

步骤 8:否则显示该数字为非素数。

 

Java 源代码

                                          import java.util.Scanner;

public class PrimeNumber {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

      System.out.println("Enter the Number: ");
      int num= sc.nextInt();
        boolean flag = false;
        for(int i = 2; i <= num/2; ++i)
        {
            
            if(num % i == 0)
            {
                flag = true;
                break;
            }
        }

        if (!flag)
            System.out.println(num + " Is A Prime Number");
        else
            System.out.println(num + " Is Not A Prime Number");
    }
}
                                      

输出

Enter the Number: 7
7 Is A Prime Number