ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Java 程序:检查 Armstrong 数 > 原文: [https://beginnersbook.com/2017/09/java-program-to-check-armstrong-number/](https://beginnersbook.com/2017/09/java-program-to-check-armstrong-number/) 在这里,我们将编写一个 java 程序,检查给定的数字是否为 Armstrong 数。我们将看到同一程序的两个变体。在第一个程序中,我们将在程序本身中分配数字,在第二个程序中,用户将输入数字,程序将检查输入数字是否为 Armstrong。 在我们完成该计划之前,让我们看看什么是阿姆斯特朗数字。如果以下等式适用于该数字,则一个数字称为 Armstrong 数: ```java xy..z = xn + yn+.....+ zn ``` 其中`n`表示数字中的位数 例如,这是一个 3 位数的阿姆斯特朗数字 ```java 370 = 33 + 73 + o3 = 27 + 343 + 0 = 370 ``` 让我们在一个程序中写这个: 要理解本程序,您应该具备以下 [Java 编程](https://beginnersbook.com/java-tutorial-for-beginners-with-examples/)主题的知识: 1. [Java `while`循环](https://beginnersbook.com/2015/03/while-loop-in-java-with-examples/) 2. [Java `if-else-if`](https://beginnersbook.com/2017/08/if-else-statement-in-java/) ## 示例 1:用于检查给定数字是否为 Armstrong 数的程序 ```java public class JavaExample { public static void main(String[] args) { int num = 370, number, temp, total = 0; number = num; while (number != 0) { temp = number % 10; total = total + temp*temp*temp; number /= 10; } if(total == num) System.out.println(num + " is an Armstrong number"); else System.out.println(num + " is not an Armstrong number"); } } ``` 输出: ```java 370 is an Armstrong number ``` 在上面的程序中我们使用了`while`循环,但是你也可以使用`for`循环。要使用`for`循环,请使用以下代码替换程序的`while`循环部分: ```java for( ;number!=0;number /= 10){ temp = number % 10; total = total + temp*temp*temp; } ``` ## 示例 2:用于检查输入数字是否为 Armstrong 的程序 ```java import java.util.Scanner; public class JavaExample { public static void main(String[] args) { int num, number, temp, total = 0; System.out.println("Ënter 3 Digit Number"); Scanner scanner = new Scanner(System.in); num = scanner.nextInt(); scanner.close(); number = num; for( ;number!=0;number /= 10) { temp = number % 10; total = total + temp*temp*temp; } if(total == num) System.out.println(num + " is an Armstrong number"); else System.out.println(num + " is not an Armstrong number"); } } ``` 输出: ```java Ënter 3 Digit Number 371 371 is an Armstrong number ``` 查看相关程序: 1. [Java 程序:检查素数](https://beginnersbook.com/2014/01/java-program-to-check-prime-number/) 2. [Java 程序:检查闰年](https://beginnersbook.com/2017/09/java-program-to-check-leap-year/) 3. [Java 程序:检查偶数或奇数](https://beginnersbook.com/2014/02/java-program-to-check-even-or-odd-number/)