# Java Program to Subtract Two Numbers Using Recursion

In this article we are going to see how we can subtract two numbers using recursion by Java programming language.

## Java Program to Subtract Two Numbers Using Recursion

### Method-1: Java Program to Subtract Two Numbers Using Recursion By Using Static Input Value

Approach:

• Store two numbers in two variables.
• Call the user defined method sub( ) to find the difference and store it. The method sub() decrements both the numbers by 1 using recursion until the smaller one reaches 0. Then it returns the other number.
• Print the result.

Program:

import java.util.*;
// Main class
public class Main
{
// Recursive method to subtract two numbers
public static int sub(int num1, int num2)
{
// Returns the difference when num2 reaches zero
if(num2==0)
return num1;
else
// calls the function by decrementing both numbers by 1
return sub((num1-1),(num2-1));
}

public static void main(String[] args)
{
int num1 = 29, num2 = 15;
// Call the method and store the result
int dif = sub(num1,num2);
// Print the result
System.out.println("The difference between "+num1+" and "+num2+" is "+dif);
}
}

Output:

The difference between 29 and 15 is 14

### Method-2: Java Program to Subtract Two Numbers Using Recursion By Using User Input Value

Approach:

• Ask the user to enter two numbers in order.
• Store two numbers in two variables.
• Call the user defined method sub( ) to find the difference and store it. The method sub() decrements both the numbers by 1 using recursion until the smaller one reaches 0. Then it returns the other number.
• Print the result.

Program:

import java.util.*;
// Main class
public class Main
{
// Recursive method to subtract two numbers
public static int sub(int num1, int num2)
{
// Returns the difference when num2 reaches zero
if(num2==0)
return num1;
else
// calls the function by decrementing both numbers by 1
return sub((num1-1),(num2-1));
}

public static void main(String[] args)
{
// Taking user input
Scanner sc = new Scanner(System.in);
// Ask the user to enter two numbers
System.out.print("Enter two numbers to subtract ");
int num1 = sc.nextInt(), num2 = sc.nextInt();
// Call the method and store the result
int dif = sub(num1,num2);
// Print the result
System.out.println("The difference between "+num1+" and "+num2+" is "+dif);
}
}

Output:

Enter two numbers to subtract 10 5
The difference between 10 and 5 is 5

Interested in programming and want to excel in it by choosing the short ways. Then, practicing with the available Java Program list is mandatory.