Java Program to Print N to 1 by Using Recursion

In the previous article, we have discussed about Java Program to Check Disarium Number by Using Recursion

In this program we are going to see how to print N to 1 by using recursion in Java programming language.

Java Program to Print N to 1 by Using Recursion

Let’s understand the problem statement first with an example.

Assume the value of N = 5
Then the series from N to 1 = 5 4 3 2 1

Note- Take ‘N’ as any positive integer.

Now let’s see different ways to print N to 1 by using recursion.

Method-1: Java Program to Print N to 1 By Using Static Input and Recursion

Approach:

  • Declare an integer variable say ‘n’ and initialize the value.
  • Call a user defined method series() method and pass ‘n’ as parameter.
  • Inside the user defined method we will check if the number is less than or equal to 0 then the value is returned to the method else it will print the number and then recursively call series() method until it becomes 0 and the method execution terminates.

Program:

import java.util.*;
import java.io.*;
public class Main 
{
    public static void main(String[] args)
    {
        // declare and initialize an integer variable ‘n’ 
        int n = 17;
        System.out.println("The series from "+n+" to 1 is: ");
        // calling series() method with n as parameter
        series(n);
        // exception handling if the number is less than or equal to 0
        if(n<=0)
        	System.out.println("The series can't be defined, please enter a number greater than 0");
    }
    
    // Defining series() method
    static void series(int n)
    {
        // here the series() method is terminated if the number is less than or equal to 0
        if(n<=0)
            return;
        // print the number from N to 1
        System.out.print(n + " ");
        // calling series() method recursively until it reaches 0
        series(n-1);
    }
}
Output:

The series from 17 to 1 is: 
17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

Method-2: Java Program to Print N to 1 By Using User Input and Recursion

Approach:

  • Declare an integer variable say ‘n’ and initialize the value.
  • Prompt the user to enter a number.
  • Call a user defined method series() method and pass ‘n’ as parameter.
  • Inside the user defined method we will check if the number is less than or equal to 0 then the value is returned to the method else it will print the number and then recursively call series() method until it becomes 0 and the method execution terminates.

Program:

import java.util.*;
import java.io.*;
public class Main 
{
    public static void main(String[] args)
    {
        // create a scanner class
        Scanner s = new Scanner(System.in);
        System.out.println("Enter a number:");
        //Prompt the user to enter a number
        int n = s.nextInt();
        System.out.println("The series from "+n+" to 1 is: ");
        // calling series() method with n as parameter
        series(n);
        // exception handling if the number is less than or equal to 0
        if(n<=0)
        	System.out.println("The series can't be defined, please enter a number greater than 0");
    }
    
    // Defining series() method
    static void series(int n)
    {
        // here the series() method is terminated if the number is less than or equal to 0
        if(n<=0)
            return;
        // print the number from N to 1
        System.out.print(n + " ");
        // calling series() method recursively until it reaches 0
        series(n-1);
    }
}
Output:

Enter a number:
-17
The series can't be defined, please enter a number greater than 0
The series from -17 to 1 is:

Practice Java programming from home without using any fancy software just by tapping on this Simple Java Programs for Beginners tutorial.

Related Java Programs: