判断一个数是否为质数的 Java 程序

在本文中,您将学习检查一个数是否为质数。这是在 Java 中使用 for 循环和 while 循环完成的。

要理解此示例,您应该具备以下 Java 编程的知识:

质数是只能被 1 和它本身整除的数字。因此,如果任何数字可以被任何其他数字整除,则它不是质数。

示例 1:使用 for 循环检查质数的程序

public class Main {

  public static void main(String[] args) {

    int num = 29;
    boolean flag = false;
    for (int i = 2; i <= num / 2; ++i) {
      // condition for nonprime number
      if (num % i == 0) {
        flag = true;
        break;
      }
    }

    if (!flag)
      System.out.println(num + " 是一个质数。");
    else
      System.out.println(num + " 不是质数。");
  }
}

输出

29 是一个质数。

在上面的程序中,for 循环用于判断给定的数字 num 是否是质数。

在这里,请注意我们从 2 循环到 num/2。这是因为一个数不能被它的一半以上的数字整除。

for 循环内部,我们检查该数字是否可以被给定范围内 (2...num/2) 的任何数字整除。

  • 如果 num 可以被整除, flag 设置为 true ,我们跳出循环。这说明了 num 不是质数。
  • 如果 num 不能被任何数整除, flagfalse 并且 num 是质数。

示例 2:使用 while 循环检查质数的程序

public class Main {

  public static void main(String[] args) {

    int num = 33, i = 2;
    boolean flag = false;
    while (i <= num / 2) {
      // condition for nonprime number
      if (num % i == 0) {
        flag = true;
        break;
      }

      ++i;
    }

    if (!flag)
      System.out.println(num + " 是一个质数。");
    else
      System.out.println(num + " 不是质数。");
  }
}

输出

33 不是质数。

在上面的程序中,使用 while 循环代替 for 循环。循环运行直到 i <= num/2 。在每次迭代中,检查 num 是否可被 i 整除, 并且 i 增加 1。

访问此页面以了解如何显示两个数字之间的所有质数