Java判断水仙花数:isFlower函数详解与代码示例
Java判断水仙花数:isFlower函数详解与代码示例
本文将介绍如何使用Java编写一个程序,来判断一个数是否为水仙花数。水仙花数(也称为阿姆斯特朗数)是指一个 n 位数 (n≥3),它的每个位上的数字的 n 次幂之和等于它本身。
例如,153是一个三位数,1^3 + 5^3 + 3^3 = 153,因此153是一个水仙花数。
我们将定义一个名为 isFlower 的函数来实现这个判断逻辑,并在主函数中对其进行测试。
**isFlower 函数代码:**javapublic class Main { public static void main(String[] args) { // 测试 isFlower 函数 int num = 153; boolean result = isFlower(num); System.out.println(num + ' is a Armstrong number: ' + result); }
public static boolean isFlower(int num) { // 获取数字的位数 int digitCount = String.valueOf(num).length(); int originalNum = num; int sum = 0;
// 计算每个位上的数字的 digitCount 次幂之和 while (originalNum != 0) { int digit = originalNum % 10; sum += Math.pow(digit, digitCount); originalNum /= 10; }
// 判断是否为水仙花数 return sum == num; }}
在 IntelliJ IDEA 中运行程序:
- 打开 IntelliJ IDEA,创建一个 Java 项目。2. 在项目中创建一个新的 Java 类文件(例如,Main.java),将上述代码复制粘贴到类文件中。3. 点击运行按钮或使用快捷键 Shift + F10 来运行程序。4. 在控制台窗口中查看输出结果。
代码解析:
-
isFlower(int num)函数: - 接收一个整数num作为参数。 - 使用String.valueOf(num).length()获取数字的位数digitCount。 - 使用循环遍历num的每一位数字: -digit = originalNum % 10获取个位数字。 -sum += Math.pow(digit, digitCount)计算该位数字的digitCount次幂并累加到sum中。 -originalNum /= 10将originalNum除以 10,移除个位数字。 - 最后,判断sum是否等于num,如果相等则返回true,否则返回false。 -
main函数: - 设置测试数字num的值。 - 调用isFlower(num)函数判断num是否为水仙花数,并将结果存储在result变量中。 - 打印结果到控制台。
你可以修改 num 的值来测试其他数字是否为水仙花数。
总结:
本文提供了一个简单易懂的 Java 程序,用于判断一个数是否为水仙花数。你可以使用这个程序来学习如何定义函数、使用循环和条件语句,以及如何在 IntelliJ IDEA 中运行 Java 程序。
原文地址: https://www.cveoy.top/t/topic/W22 著作权归作者所有。请勿转载和采集!