📜  Java程序在两个间隔之间显示Armstrong数(1)

📅  最后修改于: 2023-12-03 15:02:05.932000             🧑  作者: Mango

Java程序在两个间隔之间显示Armstrong数

在数学中,阿姆斯壮数是指为n位数中每个数字的n次幂之和等于该数本身的数,例如:153、370和371等。在这个Java程序中,我们将显示在两个间隔之间的所有Armstrong数。

实现步骤
  1. 获取用户输入的两个数字
  2. 针对这些数字,使用一个for循环遍历它们之间的每个数字
  3. 针对每个数字,将其分解成数字,并按照Armstrong数的规则计算其总和
  4. 如果总和等于原始数字,则该数字是Armstrong数,打印该数字

这是Java代码:

import java.util.Scanner;

public class ArmstrongNumbersBetweenIntervals {
    public static void main(String[] args) {

        int start, end;
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the start number: ");
        start = sc.nextInt();
        System.out.println("Enter the end number: ");
        end = sc.nextInt();

        for(int i = start; i <= end; i++) {
            int number = i;
            int sum = 0;

            // 获取数字的位数
            int digits = String.valueOf(i).length();

            while(number > 0) {
                int remainder = number % 10;
                sum += Math.pow(remainder, digits);
                number /= 10;
            }

            if(i == sum) {
                System.out.println(i);
            }
        }
    }
}
代码解析
  1. 我们使用了Scanner类来接收用户输入的两个数字。
  2. 在for循环内,我们将该数字存储在一个int类型的变量number中,并且针对该数字计算出总和。
  3. 我们使用String.valueOf(i).length()来获取数字的位数,然后对该数字进行分解并计算总和。
  4. 如果总和等于原始数字,则该数字是Armstrong数,我们将其打印。
总结

这个Java程序允许用户输入两个数字,并找到这两个数字之间所有的Armstrong数。我们可以使用这个程序来找到其他数字之间的Armstrong数,只需要更改用户输入的数字即可。