๐ŸŽ‰ Special Offer !    Code: GET300OFF    Flat โ‚น300 OFF on every Java Course
Grab Deal ๐Ÿš€

WAP to check whether a number is prime or not in Java  


What are Prime Numbers ?
  • A prime number is a natural number greater than 1 that has only two factors: 1 and itself.
  • Examples: 2, 3, 5, 7, 11, 13, 17, etc.
  • Non-prime numbers (composite): 4, 6, 8, 9, 10 (since they have more than two factors).
Logical Steps:
  • If the number is less than or equal to 1, it is not prime.
  • Loop from 2 to number and check divisibility:
    • If the number is divisible by any number in this range, it is not prime.
    • Otherwise, it is prime.
Programs:
  • Below is the simple program:
    public class CheckPrimeNumber
    {
        public static void main(String[] args)
        {
            int num = 23;
    
            // Combined check for 0 and 1
            if (num <= 1)
            {
                System.out.println(num + " is not a prime number.");
                return; // Exit early for 0 and 1
            }
    
            boolean isPrime = true;
    
            for (int i=2; i < num/2; i++)
            {
                if (num % i == 0)
                {
                    isPrime = false;
                    break;
                }
            }
    
            if (isPrime)
            {
                System.out.println(num + " is a prime number.");
            }
            else
            {
                System.out.println(num + " is not a prime number.");
            }
        }
    } 
    Output:
    23 is a prime number.
  • Below is the program by taking user input:
    import java.util.Scanner;
    
    public class CheckPrimeNumber
    {
        public static void main(String[] args)
        {
            Scanner s = new Scanner(System.in);
    
            System.out.print("Enter the number: ");
            int num = s.nextInt();
    
            // Combined check for 0 and 1
            if (num <= 1)
            {
                System.out.println(num + " is not a prime number.");
                return; // Exit early for 0 and 1
            }
    
            boolean isPrime = true;
    
            for (int i=2; i < num/2; i++)
            {
                if (num % i == 0)
                {
                    isPrime = false;
                    break;
                }
            }
    
            if (isPrime)
            {
                System.out.println(num + " is a prime number.");
            }
            else
            {
                System.out.println(num + " is not a prime number.");
            }
        }
    }
    Output:
    Enter the number: 31
    31 is a prime number.
Program Explanation:
  • Input and Variables:
    • Takes an integer input from the user.
    • Use a boolean flag (isPrime) initialized to true, assuming the number is prime unless proven otherwise.
  • Special Case Handling:
    • If num <= 1, it is not a prime number:
      • Prints: "num is not a prime number."
      • Uses return; to exit early (skips checking for factors).
  • Prime Check Logic:
    • Loop from 2 to num / 2.
    • If num % i == 0, the number is divisible by i, so:
      • Set isPrime = false (not prime).
      • break; to exit the loop early (no need for further checks).
  • Display Result:
    • If isPrime == true, print "num is a prime number."
    • Else, print "num is not a prime number."
  • Close Scanner:
    • Releases input resources with scanner.close().