java代码实现计算水仙花数的源代码

以下是一个简单的Java代码来计算水仙花数:

public class NarcissisticNumber {
    public static void main(String[] args) {
        int num, originalNum, remainder, result = 0, n = 0;
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个正整数:");
        num = scanner.nextInt();
        originalNum = num;

        // 计算 num 是几位数
        for (; originalNum != 0; originalNum /= 10, ++n);

        originalNum = num;

        // 计算每个数字的立方和
        while (originalNum != 0) {
            remainder = originalNum % 10;
            result += Math.pow(remainder, n);
            originalNum /= 10;
        }

        if (result == num)
            System.out.println(num + " 是水仙花数。");
        else
            System.out.println(num + " 不是水仙花数。");
    }
}

在这个例子中,我们使用一个Scanner对象从用户输入中读取一个整数。然后,我们计算这个数是几位数,并使用while循环计算这个数每个数字的立方和。如果立方和等于原始数字,则它是一个水仙花数。否则,它不是水仙花数。