请你用java语言写出以下程序“打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数",因为153-1的三次方+5的三次方+3的三次方。”
时间: 2024-10-14 08:11:48 浏览: 43
在Java中,我们可以编写一个简单的循环来找到所有满足条件的“水仙花数”。以下是一个例子:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
if (isNarcissistic(i)) {
System.out.println(i);
}
}
}
// 检查一个数是否是水仙花数
private static boolean isNarcissistic(int number) {
int sumOfCubes = 0;
String numString = Integer.toString(number);
for (char digit : numString.toCharArray()) {
int digitValue = Character.getNumericValue(digit);
sumOfCubes += Math.pow(digitValue, 3);
}
return sumOfCubes == number;
}
}
```
这个程序遍历100到999之间的每一个整数,如果它的各位数字立方之和等于它自身,那么就认为它是水仙花数并打印出来。
阅读全文