如何用Java输入一个三位数,判断是否为水仙花数,是输出true,否输出false。
时间: 2024-10-19 18:10:11 浏览: 33
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在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 (num >= 100 && num <= 999) { // 确保输入的是三位数
int sumOfDigits = getSumOfCubeOfDigits(num);
if (sumOfDigits == num) {
System.out.println(num + " 是水仙花数,输出 true。");
} else {
System.out.println(num + " 不是水仙花数,输出 false。");
}
} else {
System.out.println("输入不是三位数,请重新输入。");
}
}
private static int getSumOfCubeOfDigits(int number) {
int sum = 0;
String digits = Integer.toString(number); // 将整数转换为字符串便于提取每一位
for (int i = 0; i < digits.length(); i++) {
char digitChar = digits.charAt(i);
int digit = digitChar - '0'; // 转换字符到整数
sum += Math.pow(digit, 3); // 计算每位数字的立方
}
return sum;
}
}
```
在这个程序中,我们首先获取用户输入的三位数,然后计算每个位的立方并求和。如果结果等于原数,那么就是水仙花数。
阅读全文