4、请在?处填写一行代码,使之能在控制台打印所有的水仙花数。 public static void main(String[] args) { int i = 100; while (i <= 999) { int ge = i % 10; int shi = i / 10 % 10; int bai = i / 100; if (?) { System.out.println(i); } i++; } }
时间: 2024-04-26 21:23:12 浏览: 17
好的,这是一个求解水仙花数的问题。水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153 就是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。
代码实现如下:
```java
public static void main(String[] args) {
int i = 100;
while (i <= 999) {
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100;
if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
System.out.println(i);
}
i++;
}
}
```
输出结果为:
153
370
371
407
具体实现过程如下:
1. 定义一个 int 类型的变量 i,从 100 开始遍历到 999。
2. 使用 while 循环遍历 i,获取 i 的个位、十位和百位数字。
3. 使用 if 语句判断 i 是否为水仙花数,如果是则将其输出到控制台。
4. 在 if 语句中,使用立方运算符求出 i 的个位、十位和百位数字的立方和,然后与 i 进行比较,如果相等则说明 i 是水仙花数。
5. 在 if 语句的条件表达式中,使用 ge * ge * ge + shi * shi * shi + bai * bai * bai == i 判断 i 是否为水仙花数。
6. 使用 i++ 将 i 的值加一,继续下一轮循环,直到 i 大于 999 时停止循环。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)