使用循环结构判断一个整数是否为“水仙花数”,一直提示输入,直到输入的数是水仙花数则退出程序。所谓“水仙花数”是指1个三位的整数,其各个为数字立方和等于该数本身。例如:153= 1*1*1 + 5*5*5 + 3*3*3 = 1+125+27。用Java编译
时间: 2024-03-01 16:51:26 浏览: 24
好的,以下是Java代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
System.out.print("请输入一个三位整数:");
int num = sc.nextInt();
if (isNarcissisticNumber(num)) {
System.out.println(num + "是水仙花数,程序退出。");
break;
} else {
System.out.println(num + "不是水仙花数,请继续输入。");
}
}
}
// 判断一个整数是否为水仙花数
public static boolean isNarcissisticNumber(int num) {
int sum = 0;
int temp = num;
while (temp > 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
return sum == num;
}
}
```
程序运行时,会一直提示用户输入一个三位整数,直到用户输入的数是水仙花数为止,程序才会退出。
注意,本程序使用了一个 `isNarcissisticNumber` 方法来判断一个整数是否为水仙花数。该方法采用了循环结构,每次取出该数的个位数,计算该位数的立方并累加到总和中,最后与原数比较,如果相等则说明是水仙花数,返回 true,否则返回 false。
相关推荐
![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)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)