水仙花数”是一个三位数,其各位数字的立方和等于该数本身。请编写程序实现以下功能:输入一个整数,判断该数是否是水仙花数。java
时间: 2024-09-23 19:13:49 浏览: 62
在Java中,你可以使用条件语句和数学运算来实现判断一个数是否是水仙花数的功能。下面是一个简单的函数示例:
```java
public class NarcissisticNumber {
public static boolean isNarcissistic(int num) {
if (num < 100 || num > 999) {
return false; // 只有三位数才可能是水仙花数
}
int sum = 0;
String numberString = String.valueOf(num); // 转换为字符串便于提取每一位数字
for (char digit : numberString.toCharArray()) {
int digitValue = Character.getNumericValue(digit); // 获取每个字符对应的数值
sum += Math.pow(digitValue, 3); // 立方和的计算
}
return sum == num; // 如果立方和等于原数,则是水仙花数,返回true;否则返回false
}
public static void main(String[] args) {
int input = 153; // 测试输入
System.out.println(isNarcissistic(input) ? "是水仙花数" : "不是水仙花数");
}
}
```
在这个程序中,`isNarcissistic`函数接受一个整数作为参数,首先检查它是否在三位数范围内,然后通过遍历每个位上的数字并计算其立方和,最后比较这个立方和是否与原始数字相等。
阅读全文