java中键盘输入任意一个整数n[3,7],求n位数中的水仙花数
时间: 2024-10-07 21:05:43 浏览: 46
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在Java中,你可以创建一个循环来让用户输入一个范围内的整数n,并检查从100到(10 * n)之间的每个数是否是水仙花数。下面是一个简单的程序示例:
```java
import java.util.Scanner;
public class WaterlilyNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个3到7位的整数:");
int n = scanner.nextInt(); // 检查用户输入
if (n < 3 || n > 7) {
System.out.println("输入错误,n应处于3到7之间。");
} else {
for (int number = 100; number <= 1000; number++) { // 仅考虑3位数
if (isWaterlilyNumber(number)) {
System.out.println(number + " 是一个水仙花数.");
}
}
}
scanner.close();
}
// 判断是否是水仙花数的方法
public static boolean isWaterlilyNumber(int num) {
int firstDigit = num / 100;
int secondDigit = (num % 100) / 10;
int thirdDigit = num % 10;
return firstDigit * firstDigit * firstDigit + secondDigit * secondDigit * secondDigit + thirdDigit * thirdDigit * thirdDigit == num;
}
}
```
阅读全文