java)水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。 获取输入,需要一个三位数num 判断是否是三位数 判断是否是水仙花数(需要获取百位、十位、个位)
时间: 2024-11-20 10:43:27 浏览: 25
在Java中,你可以编写一个简单的函数来判断一个整数是否是水仙花数。首先,你需要检查输入的数是否是一个3位数,然后再分别计算其百位、十位和个位的立方并相加。如果这个和等于原数,那么该数就是水仙花数。以下是一个示例函数的实现:
```java
public class NarcissisticNumber {
public static boolean isNarcissistic(int num) {
// 检查是否是3位数
if (num < 100 || num > 999) {
return false;
}
int hundreds = num / 100; // 百位
int tens = (num % 100) / 10; // 十位
int ones = num % 10; // 个位
// 计算每位数的立方和
int sumOfCubes = hundreds * hundreds * hundreds + tens * tens * tens + ones * ones * ones;
// 判断是否相等
return sumOfCubes == num;
}
public static void main(String[] args) {
int inputNum = getValidInput(); // 获取用户输入并传递给isNarcissistic函数
System.out.println(isNarcissistic(inputNum) ? "是水仙花数" : "不是水仙花数");
}
private static int getValidInput() {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("请输入一个三位数: ");
int num = scanner.nextInt();
if (num >= 100 && num <= 999) {
return num;
}
System.out.println("输入错误,请输入一个三位数。");
}
}
}
```
在这个例子中,`getValidInput()`函数用于从用户那里获取输入,并确保是有效的3位数。`isNarcissistic`函数则是核心部分,负责判断是否是水仙花数。
阅读全文