黑马程序员技术交流社区

标题: for循环练习-水仙花(应用) [打印本页]

作者: BPFT    时间: 2019-9-26 15:28
标题: for循环练习-水仙花(应用)
  for循环练习-水仙花(应用)

- 需求:在控制台输出所有的“水仙花数”
- 解释:什么是水仙花数?
  - 水仙花数,指的是一个三位数,个位、十位、百位的数字立方和等于原数
    - 例如`153  3*3*3 + 5*5*5 + 1*1*1 = 153`
- 思路:
  1. 获取所有的三位数,准备进行筛选,最小的三位数为100,最大的三位数为999,使用for循环获取
  2. 获取每一个三位数的个位,十位,百位,做if语句判断是否是水仙花数
- 示例代码

```java
public class ForTest04 {
    public static void main(String[] args) {
                //输出所有的水仙花数必然要使用到循环,遍历所有的三位数,三位数从100开始,到999结束
                for(int i=100; i<1000; i++) {
                        //在计算之前获取三位数中每个位上的值
                        int ge = i%10;
                        int shi = i/10%10;
                        int bai = i/10/10%10;
                       
                        //判定条件是将三位数中的每个数值取出来,计算立方和后与原始数字比较是否相等
                        if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i) {
                                //输出满足条件的数字就是水仙花数
                                System.out.println(i);
                        }
                }
    }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2