public class NarcissisticNumber {
// 方法:判断一个数是否为水仙花数
public static boolean isNarcissistic(int num) {
int originalNum = num; // 保存原始数字
int sum = 0;
int digits = String.valueOf(num).length(); // 获取数字的位数
while (num != 0) {
int digit = num % 10; // 取出最后一位数字
sum += Math.pow(digit, digits); // 计算该位数字的digits次方并累加
num /= 10; // 去掉最后一位数字
}
return sum == originalNum; // 判断累加结果是否等于原始数字
}
// 主方法:测试是否为水仙花数
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
if (isNarcissistic(i)) {
System.out.println(i + " 是水仙花数");
}
}
}
}
String.valueOf(num).length()
获取数字的位数,因为水仙花数不仅限于三位数,可以扩展到任意位数。digits
次方,然后累加起来。true
;否则返回 false
。isNarcissistic
方法进行判断,并输出符合条件的水仙花数。希望这段代码和解释对你有帮助!
上一篇:java引用参数传递
下一篇:java repository
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站