117.info
人生若只如初见

java如何打印水仙花数

水仙花数是指一个 n 位数(n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。

要在 Java 中打印水仙花数,你可以使用以下代码:

public class Main {
    public static void main(String[] args) {
        for (int i = 100; i <= 999; i++) {
            if (isNarcissisticNumber(i)) {
                System.out.println(i);
            }
        }
    }

    public static boolean isNarcissisticNumber(int num) {
        int originalNum = num;
        int sum = 0;
        int numOfDigits = String.valueOf(num).length();

        while (num != 0) {
            int digit = num % 10;
            sum += Math.pow(digit, numOfDigits);
            num /= 10;
        }

        return sum == originalNum;
    }
}

这段代码首先定义了一个 isNarcissisticNumber 函数,用于判断一个整数是否为水仙花数。然后,我们遍历 100 到 999 之间的所有整数,并使用 isNarcissisticNumber 函数检查它们是否为水仙花数。如果是,则将其打印出来。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe018AzsBAQdWAg.html

推荐文章

  • 弱引用在分布式系统中的应用场景有哪些

    弱引用在分布式系统中的应用场景主要包括资源管理和内存优化,确保系统资源的有效利用。以下是弱引用在分布式系统中的一些具体应用场景: 缓存管理:弱引用允许对...

  • MySQL Connector在Java中的作用是什么

    MySQL Connector/J 是 MySQL 数据库的官方 JDBC 驱动程序。在 Java 应用程序中,它的主要作用是提供与 MySQL 数据库进行通信和交互的功能。
    使用 MySQL Con...

  • Java Socket编程中如何处理粘包和拆包问题

    在Java Socket编程中,粘包和拆包问题是指在TCP通信中,由于数据传输的原因,数据包可能会被合并(粘包)或者分割(拆包),导致接收方无法正确解析数据。为了解...

  • 如何使用Java NIO改进Socket编程

    Java NIO(New I/O)是一个提供非阻塞I/O操作的API,相较于传统的Java I/O,它可以更高效地处理多个并发连接 导入所需的类库: import java.io.IOException;

  • java如何调用打印机打印pdf文件

    在Java中,你可以使用Java的打印服务(Java Print Service)API来调用打印机打印PDF文件。以下是一个简单的示例,展示了如何使用Java Print Service API打印PDF文...

  • oracle如何创建函数索引

    在Oracle中,创建函数索引的基本语法如下:
    CREATE INDEX index_name ON table_name (function_name(column_name)); 其中,index_name是你要创建的索引名称...

  • oracle表空间如何扩展

    Oracle表空间是用于存储数据库对象(如表、索引等)的存储区域 添加新的数据文件:
    使用ALTER TABLESPACE命令为表空间添加一个或多个新的数据文件。例如,要...

  • oracle表如何增加索引

    在Oracle数据库中,可以使用CREATE INDEX语句为表增加索引。以下是一个简单的示例: 首先,创建一个表(如果还没有创建的话): CREATE TABLE employees ( id NU...