Java Program to Check If a Number is Prime or Not Using Recursion

In this article we are going to see how we can check if a number is prime or not using recursion by Java programming language.

Java Program to Check If a Number is Prime or Not Using Recursion

A number is said to be prime number if it has only 2 factors i.e. 1 and the number itself. Means other than 1 and itself it is not divisible by any other numbers.

For example- 7, 13, 19, 29 etc.

Here you have to write the program check if a number is prime or not using recursion.

Method-1: Java Program to Check If a Number is Prime or Not Using Recursion By Using Static Input Value

Approach:

  • Declare an Integer variable ‘num’ and initialize with 59.
  • Call the user defined method checkPrime( ) by passing the ‘num’ and its half.
  • The user-defined method takes a ‘num’ and its half as input. Then keeps on decrementing the half until it divides the ‘num‘ or it reaches 1 using recursion.
  • Print the result.

Program:

import java.util.*;
// Main class
public class Main
{
    // Recursive method to check for prime
    public static int checkPrime(int num, int i)
    {
        if (i != 1) 
        {
            // checks if the number is divisible
            if (num % i != 0) 
            {
                // Decrements the divisor by 1 every call
                return checkPrime(num, i - 1);
            }
            else 
            {
                return 0;
            }
        }
        else 
        {
            return 1;
        }
    }
    
    public static void main(String[] args)
    {
        int num = 59;
        // Call the method and store the result
        int res = checkPrime(num,num/2);
        // Print the result
        if(res==1)
            System.out.println(num+" is prime.");
        else
            System.out.println(num+" is not prime.");
    }
}
Output:

59 is prime.

Method-2: Java Program to Check If a Number is Prime or Not Using Recursion By Using User Input Value

Approach:

  • Ask the user to enter a number and store it in ‘num‘ variable.
  • Call the user defined method checkPrime( ) by passing the ‘num‘ and its half.
  • The user-defined method takes a ‘num‘ and its half as input . Then keeps on decrementing the half until it divides the ‘num‘ or it reaches 1 using recursion.
  • Print the result.

Program:

import java.util.*;
// Main class
public class Main
{
    // Recursive method to check for prime
    public static int checkPrime(int num, int i)
    {
        if (i != 1) 
        {
            // checks if the number is divisible
            if (num % i != 0) 
            {
                // Decrements the divisor by 1 every call
                return checkPrime(num, i - 1);
            }
            else 
            {
                return 0;
            }
        }
        else 
        {
            return 1;
        }
    }
    
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        // Asks the user for input
        System.out.println("Enter a number");
        int num = sc.nextInt();
        // Call the method and store the result
        int res = checkPrime(num,num/2);
        // Print the result
        if(res==1)
            System.out.println(num+" is prime.");
        else
            System.out.println(num+" is not prime.");
    }
}
Output:

Enter a number
153
153 is not prime.

Grab the opportunity to learn all effective java programming language concepts from basic to advance levels by practicing these Java Program Examples with Output.