Bouncy Number Program in Java

In his tutorial, we will learn how to write a java program to check bouncy number. Before we code, let us understand what is a bouncy number.

Bouncy Number

A number is said to be a bouncy number if the digits of that number are in random order that is not sorted. Example: 121575, 521634, etc.

In other words, a number that is neither an increasing number nor a decreasing number is called a bouncy number.

  • Increasing number: The number whose current digit is greater than or equal to the previous digit is called an increasing number. Example: 12345, 45678, etc.
  • Decreasing number: The number whose current digit is less than the previous digit is called an decreasing number. Example: 54321, 98765, etc.

Bouncy Number Program in Java

import java.util.*;

public class Main
{
  public static void main(String args[])
  {
    int num;
    Scanner scan = new Scanner(System.in);

    System.out.print("Enter the number: ");
    num = scan.nextInt();

    //calling function and checking condition
    if (isIncreasing(num) || isDecreasing(num) || num < 101)
      System.out.println(num + " is NOT a Bouncy number");
    else
      System.out.println(num + " is a Bouncy number");
  }

  //user-defined function to check for incresing number
  public static boolean isIncreasing(int num)
  {
    String str = Integer.toString(num);
    char digit;
    boolean flag = true;

    for (int i = 0; i < str.length() - 1; i++)
    {
      digit = str.charAt(i);
      if (digit > str.charAt(i + 1))
      {
        flag = false;
        break;
      }
    }

    return flag;
  }

  //user-defined function to check for decreasing number
  public static boolean isDecreasing(int num)
  {
    String str = Integer.toString(num);
    char digit;
    boolean flag = true;
    for (int i = 0; i < str.length() - 1; i++)
    {
      digit = str.charAt(i);
      if (digit < str.charAt(i + 1))
      {
        flag = false;
        break;
      }
    }

    return flag;
  }
}

Output:

//Run 1
Enter the number: 12345
12345 is NOT a Bouncy number

//Run2
Enter the number: 23561
23561 is a Bouncy number