用循环结构判断一个整数是否为“水仙花数”,一直提示输入,直到输入的数是水仙花数则退出程序。所谓“水仙花数”是指1个三位的整数,其各个为数字立方和等于该数本身。例如:153= 1*1*1 + 5*5*5 + 3*3*3 = 1+125+27。用Java编译
时间: 2024-02-23 07:02:41 浏览: 23
好的,下面是使用 Java 语言实现的代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num;
while (true) {
System.out.print("请输入一个三位数:");
num = scanner.nextInt();
if (num >= 100 && num <= 999) {
int a = num / 100;
int b = num / 10 % 10;
int c = num % 10;
if (num == a*a*a + b*b*b + c*c*c) {
System.out.println("是水仙花数!");
break;
} else {
System.out.println("不是水仙花数!");
}
} else {
System.out.println("输入的不是三位数,请重新输入!");
}
}
}
}
```
使用 `while` 循环不断提示用户输入一个三位数,通过 `if` 判断输入的数是否在 100~999 范围内,如果不是则输出提示信息,重新提示输入;如果是,则计算出该数的个、十、百位数字,判断是否为水仙花数,如果是则输出提示信息并退出程序,否则输出提示信息,继续循环。
注意,Java 中整数除法会向下取整,所以计算百位数时可以直接使用整除运算符 `/`。
相关推荐
![java](https://img-home.csdnimg.cn/images/20210720083646.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)