设计2:设计一个方法isNar(),从键盘录入一个三位数,判断是否是水仙花 数。运行结果如下图。 D:\develop\jdk8\b 请输入一个三位数: 371 这个数是素数
时间: 2024-09-20 16:06:07 浏览: 28
设计2的主要目标是创建一个名为`isNarcissisticNumber()`的方法,用于检查输入的三位整数是否是水仙花数。水仙花数是指其各位数字立方和等于该数本身的数字,比如153(1^3 + 5^3 + 3^3 = 153)。以下是该方法的设计步骤:
1. 创建一个接受用户输入的函数,让用户输入一个三位数作为参数。
2. 检查输入的字符串长度是否为3,如果不是,则返回错误信息。
3. 将输入转换为整数。
4. 计算每一位数字的立方并求和。
5. 如果计算得到的结果等于原始输入的数字,那么返回true,表示它是水仙花数;否则返回false。
下面是一个简单的Java实现示例:
```java
import java.util.Scanner;
public class NarcissisticNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个三位数:");
String input = scanner.nextLine();
int num;
// 检查输入格式
if (input.length() != 3 || !input.matches("\\d{3}")) {
System.out.println("输入错误,请输入一个三位数!");
return;
}
num = Integer.parseInt(input);
if (isNarcissisticNumber(num)) {
System.out.println(num + " 是水仙花数。");
} else {
System.out.println(num + " 不是水仙花数。");
}
scanner.close();
}
/**
* 判断输入的数字是否是水仙花数
*/
public static boolean isNarcissisticNumber(int number) {
int sum = 0;
int temp = number;
while (temp > 0) {
int digit = temp % 10;
sum += Math.pow(digit, 3);
temp /= 10;
}
return sum == number;
}
}
```
阅读全文