# 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: