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