水仙花数在 Java 中的实现94


水仙花数,也称为自幂数或阿姆斯特朗数,指的是一个正整数,其各位数字的立方和等于该数本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。

Java 代码以下是使用 Java 语言实现水仙花数的代码:
```java
import ;
public class NarcissisticNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(); // 用户输入
("请输入一个正整数:");
int number = ();
if (isNarcissistic(number)) {
(number + " 是一个水仙花数。");
} else {
(number + " 不是一个水仙花数。");
}
}
public static boolean isNarcissistic(int number) {
int sum = 0;
int temp = number;
// 将数字分解为单个数字
while (temp > 0) {
int digit = temp % 10; // 取出最后一位数字
sum += (digit, 3); // 将每个数字的立方和加到 sum 中
temp /= 10; // 除以 10 以移动到下一个数字
}
// 检查 sum 是否等于原始数字
return sum == number;
}
}
```

解释* 用户通过 `Scanner` 输入一个正整数。
* `isNarcissistic` 方法通过以下步骤检查该数字是否为水仙花数:
* 将数字分解为各个数字。
* 使用 `` 计算每个数字的立方。
* 将所有立方和加到 `sum` 中。
* 检查 `sum` 是否等于原始数字。
* 如果 `sum` 等于原始数字,则该数字是水仙花数。否则,它不是水仙花数。

示例输出以下是该程序的示例输出,其中输入了水仙花数 153:
```
请输入一个正整数:
153
153 是一个水仙花数。
```

扩展可以对该代码进行扩展以实现以下功能:
* 打印给定范围内的所有水仙花数。
* 查找特定范围内的水仙花数的个数。
* 根据用户输入验证水仙花数。

2024-10-18


上一篇:Java 中调用类方法的详细指南

下一篇:使用 Java 连接 SQL 数据库的综合指南