使用java输出所有的水仙花数,水仙花数是指一个3位数,其各个位上数字立方和等于其本身例如:153 = 1*1*1 + 3*3*3 + 5*5*5使用for和while2种语法进行代码书写
时间: 2024-09-19 12:16:36 浏览: 25
在Java中,我们可以使用for和while循环来找出所有三位数范围内的水仙花数。以下是两种方法的示例代码:
### 使用for循环
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int start = 100;
int end = 999;
for (int num = start; num <= end; num++) {
if (isNarcissistic(num)) {
System.out.println(num);
}
}
}
// 判断一个数是否为水仙花数
private static boolean isNarcissistic(int number) {
int sum = 0;
int temp = number;
while (temp > 0) {
sum += Math.pow(temp % 10, 3);
temp /= 10;
}
return sum == number;
}
}
```
### 使用while循环
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int currentNum = 100;
while (currentNum <= 999) {
if (isNarcissistic(currentNum)) {
System.out.println(currentNum);
}
currentNum++;
}
}
// 同样的判断函数
private static boolean isNarcissistic(int number) {
int sum = 0;
int temp = number;
while (temp > 0) {
sum += Math.pow(temp % 10, 3);
temp /= 10;
}
return sum == number;
}
}
```
这两种方法都会遍历100到999之间的所有整数,如果发现某个数满足水仙花数的条件,就将其打印出来。