判断水仙花数java

水仙花数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在Java中,我们可以编写一个程序来判断一个数是否为水仙花数。

代码示例

以下是一个简单的Java程序,用于判断一个数是否为水仙花数:

public class NarcissisticNumber {
    public static boolean isNarcissistic(int num) {
        String strNum = String.valueOf(num);
        int n = strNum.length();
        int sum = 0;
        
        for (int i = 0; i < n; i++) {
            int digit = Character.getNumericValue(strNum.charAt(i));
            sum += Math.pow(digit, n);
        }
        
        return sum == num;
    }
    
    public static void main(String[] args) {
        int number = 153;
        
        if (isNarcissistic(number)) {
            System.out.println(number + " is a Narcissistic number.");
        } else {
            System.out.println(number + " is not a Narcissistic number.");
        }
    }
}

类图

下面是该程序的类图:

classDiagram
    NarcissisticNumber --|> Object
    NarcissisticNumber : +isNarcissistic(int num)
    NarcissisticNumber : +main(String[] args)

旅行图

下面是一个简单的流程图,展示了判断水仙花数的过程:

journey
    title 判断水仙花数
    section 输入数字
        NarcissisticNumber --> 判断数字位数
    section 计算幂和
        NarcissisticNumber --> 计算每个位数的n次幂之和
    section 判断是否为水仙花数
        NarcissisticNumber --> 比较幂和与原数字大小

通过上述代码示例、类图和旅行图,我们可以清楚地了解如何使用Java编写一个简单的程序来判断一个数是否为水仙花数。希望这篇科普文章能够帮助你更好地理解这个有趣的数学概念。