判断水仙花数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编写一个简单的程序来判断一个数是否为水仙花数。希望这篇科普文章能够帮助你更好地理解这个有趣的数学概念。