java通过自定义方法判断某数是否水仙花数。
时间: 2023-10-22 22:09:49 浏览: 84
水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1³ + 5³ + 3³ = 153。
下面是Java代码实现:
```java
public class NarcissisticNumber {
public static boolean isNarcissisticNumber(int num) {
int sum = 0;
int temp = num;
int len = String.valueOf(num).length();
while (temp != 0) {
int digit = temp % 10;
sum += Math.pow(digit, len);
temp /= 10;
}
return sum == num;
}
public static void main(String[] args) {
int num = 153;
if (isNarcissisticNumber(num)) {
System.out.println(num + " is a narcissistic number");
} else {
System.out.println(num + " is not a narcissistic number");
}
}
}
```
在这个例子中,我们定义了一个名为 isNarcissisticNumber 的方法,它接受一个整数作为参数,并返回一个布尔值,表示这个数是否为水仙花数。在方法中,我们首先计算这个数的位数 len,然后对每一位上的数字取 len 次幂并相加,最后将结果与原数比较。如果相等,则返回 true,否则返回 false。
在主方法中,我们将一个整数作为参数传递给 isNarcissisticNumber 方法,并根据返回值打印相应的信息。在这个例子中,我们传递的数是 153,它是一个水仙花数。
阅读全文