用java 从键盘输入一个3位的正整数,判断其是否是水仙花数。水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身,例如13 + 53+ 33 = 153。
时间: 2024-09-28 18:17:55 浏览: 32
在Java中,你可以通过以下步骤判断一个三位数是否为水仙花数:
1. 首先,从键盘获取用户的输入作为字符串,然后转换成整数。由于题目指定是3位正整数,需要检查输入是否满足这个条件。
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个3位的正整数:");
String input = scanner.nextLine();
// 检查输入是否为3位数且是非负整数
int number;
try {
number = Integer.parseInt(input);
if (number < 100 || number > 999) {
System.out.println("输入的不是3位正整数!");
return;
}
} catch (NumberFormatException e) {
System.out.println("输入的不是一个有效的整数!");
return;
}
}
}
```
2. 然后,将该数分解为百位、十位和个位的数字,并计算它们各自的立方,最后比较它们的和是否等于原始输入的数。
```java
int hundred = number / 100;
int ten = (number % 100) / 10;
int unit = number % 10;
int sumOfCubes = hundred * hundred * hundred + ten * ten * ten + unit * unit * unit;
if (sumOfCubes == number) {
System.out.println(number + " 是一个水仙花数。");
} else {
System.out.println(number + " 不是一个水仙花数。");
}
```
阅读全文