类名定义成PrintFlowerNumber,用java判断1-1000之间有多少个水仙花数,并输出所有水仙花数。水仙花数:每个位置上的数字的立方之和等于这个数本身。
时间: 2024-03-02 10:48:33 浏览: 63
好的,以下是Java代码实现:
```java
public class PrintFlowerNumber {
public static boolean isFlowerNumber(int num) {
int sum = 0;
int n = String.valueOf(num).length();
int temp = num;
while(temp != 0) {
int digit = temp % 10;
sum += Math.pow(digit, n);
temp /= 10;
}
return sum == num;
}
public static void main(String[] args) {
int count = 0;
for(int i = 1; i <= 1000; i++) {
if(isFlowerNumber(i)) {
count++;
System.out.println(i);
}
}
System.out.println("1-1000之间共有" + count + "个水仙花数。");
}
}
```
输出结果:
```
1
2
3
4
5
6
7
8
9
153
370
371
407
1-1000之间共有13个水仙花数。
```
该代码通过 `isFlowerNumber` 方法判断一个数是否为水仙花数,然后遍历1-1000之间的所有数,统计水仙花数的个数并输出这些数。此外,按照您的要求,我将类名定义为 `PrintFlowerNumber` 。
阅读全文