Introduction:
The provided Java program is designed to determine whether a given number is an Armstrong number or not. An Armstrong number, also known as a narcissistic number, is a number that is equal to the sum of its own digits each raised to the power of the number of digits in the number. This program takes a user-inputted number and checks if it satisfies the Armstrong number condition.
Algorithm:
- Input:
- A number is taken as input from the user using the Scanner
- Function isArmstrong(int num):
- The isArmstrong function is defined to check if a given number is an Armstrong number.
- Declare variables originalNumber, remainder, result, and n.
- Initialize originalNumber with the input number to preserve the original value.
- Use a while loop to count the number of digits in originalNumber and store the count in n.
- Reset originalNumber to the input number.
- Use another while loop to calculate the sum of each digit raised to the power of n and accumulate the result in the variable result.
- Check if the calculated result is equal to the original number.
- If the condition is met, the function returns true, indicating that the number is an Armstrong number. Otherwise, it returns false.
- Output:
- Based on the result of the isArmstrong function, the program prints whether the input number is an Armstrong number or not.
Explanation:
- The program starts by taking a number as input from the user.
- The isArmstrong function is called with the input number to determine if it is an Armstrong number.
- Inside the isArmstrong function, the number of digits (n) is calculated, and then the sum of each digit raised to the power of n is computed.
- The program prints whether the input number is an Armstrong number or not based on the result of the isArmstrong
In summary, the program efficiently checks whether a given number is an Armstrong number using a well-defined algorithm that involves counting digits and performing the necessary calculations to verify the condition.
Code :
import java.util.Scanner;
public class ArmstrongNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a number: ");
int number = scanner.nextInt();
if (isArmstrong(number)) {
System.out.println(number + " is an Armstrong number.");
} else {
System.out.println(number + " is not an Armstrong number.");
}
}
// Function to check if a number is an Armstrong number
private static boolean isArmstrong(int num) {
int originalNumber, remainder, result = 0, n = 0;
originalNumber = num;
// Count number of digits
while (originalNumber != 0) {
originalNumber /= 10;
++n;
}
originalNumber = num;
// Calculate result
while (originalNumber != 0) {
remainder = originalNumber % 10;
result += Math.pow(remainder, n);
originalNumber /= 10;
}
// Check if num is Armstrong
return result == num;
}
}
Input :
Enter a number: 69
Output :
69 is not an Armstrong number.
This program takes a number as input and checks if it’s an Armstrong number or not. An Armstrong number is a number that is equal to the sum of its own digits each raised to the power of the number of digits.
FAQ’s :
- Q: Can you provide a simple Java program for checking Armstrong numbers?
- A: Certainly! Here’s a basic Java program to determine if a given number is an Armstrong number.
- Q: How can I write a Java program to find Armstrong numbers?
- A: It’s quite straightforward! Below is a Java program that identifies Armstrong numbers. Feel free to use and modify it.
- Q: What is the structure of a Java program for checking Armstrong numbers?
- A: Here’s a standard Java program for determining Armstrong numbers. You can customize it based on your requirements.
- Q: Could you share a Java program of Armstrong number with explanation?
- A: Absolutely! Here’s a Java program to detect Armstrong numbers along with comments explaining each step for better understanding.
- Q: Where can I find a reliable Java program for Armstrong number validation?
- A: Right here! Below is a tested and reliable Java program to check if a given number is an Armstrong number. Copy it, use it, and explore!