检查数字是否为素数的Java程序

时间:2020-01-09 10:35:32  来源:igfitidea点击:

这篇文章显示了一个Java程序,用于检查传递的数字是否为素数。

如果数字可以除以1或者除以数字本身,则它是质数。因此,程序的逻辑应该是运行一个for循环,并在该循环中每次都对传递的数字进行除法,如果它在任何时候都进行了除法,则传递的数字不是质数。我们只需要从2到N / 2(其中N是传递的数字)运行循环,原因是没有数字可以完全被其一半以上的数字整除。

Java程序检查数字是否为素数

import java.util.Scanner;

public class PrimeNumChecker {
  public static void main(String[] args) {
    // Using Scanner class to take input
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter number - ");
    int num = sc.nextInt();
    boolean flag = isNumberPrime(num);
    if(flag){
      System.out.println(num + " is a prime number");
    }else{
      System.out.println(num + " is not a prime number");
    }
  }

  private static boolean isNumberPrime(int num){
    boolean flag = true;
    for(int i = 2; i < num/2; i++){
      // No remainder means completely divides 
      if(num % i == 0){
        flag = false;
        break;
      }
    }
    return flag;
  }
}

输出:

Enter number - 
7
7 is a prime number

Enter number - 
10
10 is not a prime number