java中水仙花数的代码如何写

avatar
作者
猴君
阅读量:0

水仙花数(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方法来测试是否为水仙花数。