Java 调用通过自定义方法判断某数是否水仙花数
时间: 2023-11-18 13:02:27 浏览: 42
水仙花数是指一个 3 位数,其各位数字的立方和等于该数本身。例如,153 就是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。
Java 中可以通过自定义方法来判断某个数是否是水仙花数,代码如下:
```java
public class NarcissisticNumber {
// 判断一个数是否是水仙花数
public static boolean isNarcissistic(int n) {
int sum = 0;
int num = n;
while (num != 0) {
int digit = num % 10;
sum += digit * digit * digit;
num /= 10;
}
return sum == n;
}
public static void main(String[] args) {
int num = 153;
if (isNarcissistic(num)) {
System.out.println(num + "是水仙花数");
} else {
System.out.println(num + "不是水仙花数");
}
}
}
```
在上面的代码中,我们定义了一个 `isNarcissistic` 方法来判断一个数是否是水仙花数。该方法首先定义了一个 `sum` 变量来存储各位数字的立方和,然后使用一个 `while` 循环来计算各位数字的立方和。在循环中,我们使用取模运算和除法运算来依次获取各位数字,并计算出各位数字的立方和。最后,我们将计算出的立方和与原数 `n` 进行比较,如果相等,则说明 `n` 是水仙花数,返回 `true`,否则返回 `false`。
在 `main` 方法中,我们定义了一个整数 `num` 并调用 `isNarcissistic` 方法来判断 `num` 是否是水仙花数。如果是,输出 `num` 是水仙花数,否则输出 `num` 不是水仙花数。