水仙花数(Narcissistic number)是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是Java中判断一个数是否为水仙花数的代码:
public class NarcissisticNumber {
public static boolean isNarcissisticNumber(int number) {
int sum = 0;
int temp = number;
int length = String.valueOf(number).length();
while (temp > 0) {
int digit = temp % 10;
sum += Math.pow(digit, length);
temp /= 10;
}
return sum == number;
}
public static void main(String[] args) {
int number = 153;
if (isNarcissisticNumber(number)) {
System.out.println(number + " is a Narcissistic number.");
} else {
System.out.println(number + " is not a Narcissistic number.");
}
}
}
在上面的代码中,isNarcissisticNumber
方法接受一个整数作为参数,然后计算该整数的每个位上数字的n次幂之和,最后判断是否等于原始数值。main
方法中调用isNarcissisticNumber
方法并输出结果。
你可以将其他整数传递给isNarcissisticNumber
方法来测试是否为水仙花数。