# Java: Check whether a number is a Harshad Number or not

## Java Numbers: Exercise-12 with Solution

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

In recreational mathematics, a harshad number in a given number base, is an integer that is divisible by the sum of its digits when written in that base.

Example: Number 200 is a Harshad Number because the sum of digits 2 and 0 and 0 is 2(2+0+0) and 200 is divisible by 2. Number 171 is a Harshad Number because the sum of digits 1 and 7 and 1 is 9(1+7+1) and 171 is divisible by 9.

*Test Data*

Input a number : 353

**Pictorial Presentation:**

**Sample Solution:**

**Java Code:**

```
import java.util.Scanner;
public class Example12 {
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
System.out.print("Input a number : ");
int num = sc.nextInt();
int x = num, y, sum = 0;
while(x>0)
{
y = x%10;
sum = sum + y;
x = x/10;
}
if(num%sum == 0)
System.out.println(num+" is a Harshad Number.");
else
System.out.println(num+" is not a Harshad Number.");
}
}
```

Sample Output:

Input a number : 353 353 is not a Harshad 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 Disarium number or unhappy number.

**Next:** Write a Java program to check whether a number is a Pronic Number or Heteromecic 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