3. 水仙花数是一个三位数,且每一位数字的立方和等于这个数本身,如153=13+53+33,则153是水仙花数。请编写程序,从键盘输入任意一个数,判断其是否为水仙花数。java
时间: 2024-09-24 22:15:45 浏览: 34
在Java中,你可以通过创建一个函数来检查给定的数字是否是水仙花数。下面是一个简单的程序示例:
```java
import java.util.Scanner;
public class NarcissisticNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个三位数:");
int num = scanner.nextInt();
if (isNarcissistic(num)) {
System.out.println(num + " 是水仙花数。");
} else {
System.out.println(num + " 不是水仙花数。");
}
scanner.close();
}
// 判断一个数是否是水仙花数的方法
public static boolean isNarcissistic(int number) {
if (number < 100 || number > 999) {
return false;
}
int sumOfCubes = 0;
String strNum = String.valueOf(number); // 转换为字符串便于获取每一位数字
for (int i = 0; i < 3; i++) {
char digit = strNum.charAt(i);
int digitValue = Character.getNumericValue(digit); // 获取每一位数字的值
sumOfCubes += Math.pow(digitValue, 3); // 立方和计算
}
return sumOfCubes == number;
}
}
```
在这个程序中,我们首先读取用户的输入,然后调用`isNarcissistic`方法来检查它是否满足水仙花数的条件。如果相等,则它是水仙花数,否则不是。
阅读全文