# Java: Check whether a given number is a Disarium number or unhappy number

## Java Numbers: Exercise-11 with Solution

Write a Java program to check whether a given number is a Disarium number or an unhappy number.

A Disarium number is a number defined by the following process:

Sum of its digits powered with their respective position is equal to the original number.

For example 175 is a Disarium number:

As 1^{1}+3^{2}+5^{3} = 135

Some other DISARIUM are 89, 175, 518 etc.

A number will be called Disarium if the sum of its digits powered with their respective position is equal with the number itself. Sample Input: 135.

*Test Data*

Input a number : 25

**Pictorial Presentation:**

**Sample Solution:**

**Java Code:**

```
import java.util.Scanner;
public class Example11 {
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
System.out.print("Input a number : ");
int num = sc.nextInt();
int copy = num, d = 0, sum = 0;
String s = Integer.toString(num);
int len = s.length();
while(copy>0)
{
d = copy % 10;
sum = sum + (int)Math.pow(d,len);
len--;
copy = copy / 10;
}
if(sum == num)
System.out.println("Disarium Number.");
else
System.out.println("Not a Disarium Number.");
}
}
```

Sample Output:

Input a number : 25 Not a Disarium Number.

**Flowchart: **

**Java Code Editor:**

** Contribute your code and comments through Disqus.**

**Previous:** Write a Java program to check whether a given number is a happy number or unhappy number.

**Next:** Write a Java program to check whether a number is a Harshad Number or not.

**What is the difficulty level of this exercise?**

Test your Programming skills with w3resource's quiz.

## Java: Tips of the Day

**IsPowerOfTwo**

Checks if a value is positive power of two.

To understand how it works let's assume we made a call IsPowerOfTwo(4).

As value is greater than 0, so right side of the && operator will be evaluated.

The result of (~value + 1) is equal to value itself. ~100 + 001 => 011 + 001 => 100. This is equal to value.

The result of (value & value) is value. 100 & 100 => 100.

This will value the expression to true as value is equal to value.

public static boolean isPowerOfTwo(final int value) { return value > 0 && ((value & (~value + 1)) == value); }

Ref: https://bit.ly/3sA5d4I

**Weekly Trends**- Python Interview Questions and Answers: Comprehensive Guide
- Scala Exercises, Practice, Solution
- Kotlin Exercises practice with solution
- MongoDB Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - JOINS
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join

We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook