1、Java——三种方式循环出水仙花数

简介: 1、Java——三种方式循环出水仙花数

1、定义


       水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。


2、利用while循环获取水仙花数


public static void main(String[] args) {
        //使用while循环输出所有的水仙花数
        //水仙花描述的是3位数的特点,所以初始值从100开始
        int num = 100;
        while(num<1000){//循环条件
            //循环操作
            int geWei = num%10;
            int shiWei = num/10%10;
            int baiWei = num/100;
            if((int)(Math.pow(geWei, 3)+Math.pow(shiWei, 3)+Math.pow(baiWei, 3))==num){
                System.out.println(num);
            }
            num++;
        }
        System.out.println("程序执行完毕");
    }


3、利用do-while循环获取水仙花数

 


 

public static void main(String[] args) {
        //初始值
        int num = 100;
        do{
            //循环操作
            //获取各个位上的数字
            int geWei = num%10;
            int shiWei = num/10%10;
            int baiWei = num/100;
            if((int)(Math.pow(geWei, 4)+Math.pow(shiWei, 4)+Math.pow(baiWei, 4))==num){
                System.out.println(num);
            }
            //迭代
            num++;
        }while(num<1000);//循环条件
        System.out.println("程序执行完毕");
    }


4、for循环获取水仙花数


public static void main(String[] args) {
        // 求所有水仙花数
        System.out.println("水仙花数有:");
        for (int num = 100; num < 1000; num++) {
            int geWei = num % 10;
            int shiWei = num / 10 % 10;
            int baiWei = num / 100;
            if ((int) (Math.pow(geWei, 3) + Math.pow(shiWei, 3)+ Math.pow(baiWei, 3)) == num) {
                System.out.println(num);
            }
        }
        System.out.println("程序执行完毕");
    }
相关文章
|
4天前
|
Java 程序员 API
Java循环操作哪个快?
本文探讨了Java中Stream API与传统for循环的性能对比及适用场景。作者通过实际案例分析,指出在某些情况下,过度使用Stream API会导致代码可读性和维护性下降。测试结果显示,在数据量较小的情况下,普通for循环的性能优于Stream API,尤其是在涉及多次类似操作时。因此,建议在开发中根据具体需求选择合适的遍历方式,以提高代码的可读性和性能。
Java循环操作哪个快?
|
3月前
|
存储 Java
|
19天前
|
算法 Java 测试技术
🧑‍💻Java零基础:Java 的循环退出语句 break
【10月更文挑战第16天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
34 6
|
29天前
|
Java 测试技术 数据安全/隐私保护
📖Java零基础-while循环语句的深度解析
【10月更文挑战第6天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
27 1
|
30天前
|
传感器 Java 测试技术
📖Java零基础-do-while循环语句的深入剖析
【10月更文挑战第5天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
12 1
|
2月前
|
Java
java基础(2)循环语句for、while、do...while
本文介绍了Java中的基础循环语句,包括for循环、while循环和do...while循环。文章通过示例代码展示了for循环的基本结构和用法,while循环的先判断后执行逻辑,以及do...while循环的先执行后判断逻辑。这些循环语句在Java编程中非常常用,用于执行重复的任务。
46 4
java基础(2)循环语句for、while、do...while
|
6月前
|
Java
Java的控制流程语句:深入理解条件语句、循环语句与跳转语句
Java的控制流程语句:深入理解条件语句、循环语句与跳转语句
64 1
|
2月前
|
Java
Java循环
Java循环
42 6
|
2月前
|
编译器
Java--for循环语句
Java--for循环语句
|
3月前
|
存储 Java
如何在 Java 中循环 ArrayList
【8月更文挑战第23天】
38 2