[JAVA基础]用for循环实现在控制台打印水仙花数,并统计个数。

本文介绍了水仙花数的概念,即一个三位数,其各位数字立方和等于自身。通过分析如何获取一个数的个位、十位和百位,用Java编写代码遍历100到999之间的数,判断并输出水仙花数,同时统计水仙花数的个数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分析:

        什么是水仙花数?

                所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。

                举例:153就是一个水仙花数。

                153  =  1*1*1 + 5*5*5 + 3*3 *3

                A:三位数其实就告诉了我们水仙花数的范围

                        100-999

                B:如何获取一个数据的每一个位上的数?

                        举例:我有一个数据153,请问如何获取到个位,十位,百位

                        个位:153*10 = 3;

                        十位:153/10%10 = 5;

                        百位:153/10/10%10 = 1;

                        千位:...

                        万位:...

                        以此类推

                C:让每个位上的立方和相加,并和该数据进行比较,如果有相等,就说明该数据是水仙花数,在控制台输出。


代码主体:

//主方法
public static void main(String[] args) {
    //定义一个统计变量,初始化值是0。
    int count = 0;
    //通过循环获取到每一个三位数(通过分析A知道数字的范围)
    for (int i = 100; i < 1000; i++) {
        //获取个位,十位,百位
        int ge = i % 10;
        int shi = i / 10 % 10;
        int bai = i / 100 % 10;
        //让每个位上的立方和相加,并和该数据进行比较,如果相等,就说明该数据是水仙花数。
        if ((ge * ge * ge + shi * shi * shi + bai * bai * bai) == i) {
            //每找到一个水仙花数统计变量+1
            count++;
            //在控制台输出
            System.out.println(i);
        }
    }
    System.out.println("水仙花数共有" + count + "个");
}

控制台输出结果

153
370
371
407
水仙花数共有4个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值