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 中运行程序:

  1. 打开 IntelliJ IDEA,创建一个 Java 项目。2. 在项目中创建一个新的 Java 类文件(例如,Main.java),将上述代码复制粘贴到类文件中。3. 点击运行按钮或使用快捷键 Shift + F10 来运行程序。4. 在控制台窗口中查看输出结果。

代码解析:

  1. isFlower(int num) 函数: - 接收一个整数 num 作为参数。 - 使用 String.valueOf(num).length() 获取数字的位数 digitCount。 - 使用循环遍历 num 的每一位数字: - digit = originalNum % 10 获取个位数字。 - sum += Math.pow(digit, digitCount) 计算该位数字的 digitCount 次幂并累加到 sum 中。 - originalNum /= 10originalNum 除以 10,移除个位数字。 - 最后,判断 sum 是否等于 num,如果相等则返回 true,否则返回 false

  2. main 函数: - 设置测试数字 num 的值。 - 调用 isFlower(num) 函数判断 num 是否为水仙花数,并将结果存储在 result 变量中。 - 打印结果到控制台。

你可以修改 num 的值来测试其他数字是否为水仙花数。

总结:

本文提供了一个简单易懂的 Java 程序,用于判断一个数是否为水仙花数。你可以使用这个程序来学习如何定义函数、使用循环和条件语句,以及如何在 IntelliJ IDEA 中运行 Java 程序。

Java判断水仙花数:isFlower函数详解与代码示例

原文地址: https://www.cveoy.top/t/topic/W22 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录