在这里,我们将解释如何编写一个 Java 程序来检查一个 10 进制的三位数是否为阿姆斯特朗数。这是一个简单的基于数字的程序,通过 Java 中的数学运算和循环实现。
要了解更多关于阿姆斯特朗数的概念,我们相信我们的博客 阿姆斯特朗数的基础知识 将对您大有帮助
我们建议您阅读以下 Java 主题,以便更好地理解该程序。
如果一个三位数的每个数字的立方和等于该数字本身,则称该数字为阿姆斯特朗数.
示例:371
首先,声明一个名为 ArmstrongNum 的 Java 类。然后声明所需的变量。创建扫描器类的对象 sc,并从用户处读取数字到变量 num 中。赋值 originalNum=num。使用 while 循环 和条件 num != 0,找出 num 的数字的立方和,
pow() 方法计算 digit 的立方,并将其与 cubeSum 相加退出循环后,检查 cubeSum 是否与 originalNum 相同,如果相同,则使用 system.out.println() 显示该数字是阿姆斯特朗数,否则显示该数字不是阿姆斯特朗数。
步骤 1:使用 public 修饰符声明类 ArmstrongNum。
步骤2:打开main()开始程序,Java程序执行从main()开始
步骤 3:声明整数变量 originalNum, digit, cubeSum, num
步骤 4:赋值 cubeSum = 0
步骤 5:创建扫描器类的对象 sc
步骤 6:将数字读入变量 num
步骤 7:赋值 originalNum=num
步骤 8:使用条件为 originalNum !=0 的 while 循环,执行步骤 9、10
步骤 9:计算 digit、该数字的立方,并将立方和存入 cubeSum
步骤 10:然后要找到下一个数字,将 num 除以 10
步骤 11:循环处理结束后,检查 cubeSum 是否等于 originalNum
import java.util.Scanner;
public class ArmstrongNum {
public static void main(String[] args) {
int originalNum, digit, cubeSum = 0,num;
System.out.println("Enter the number:");
Scanner sc = new Scanner(System. in );
num = sc.nextInt();
originalNum = num;
while (num!= 0)
{
digit = num % 10;
cubeSum += Math.pow(digit, 3);
num /= 10;
}
if(cubeSum == originalNum)
System.out.println(originalNum+ " is an Armstrong number");
else
System.out.println(originalNum+ " is not an Armstrong number");
}
}
Enter the number: 371 371 is an Armstrong number