什么是水仙花数:
解析:
一个三位数,其各位数字的立方和是其本身
例如:
153 = 1*1*1+5*5*5+3*3*3
使用for循环
问题:
如何获取各位的数?
例如:
153--
个位3: 153 % 10 =3
十位5: 153 /10 %10 =5
百位1: 153 /10 /10 %10 =1
上代码:
package com.lcn.day04;
public class NarcissisticNumberDemo1 {
/**
* do..while循环实现水仙花数问题
*/
public static void main(String[] args) {
System.out.println("100-999中的水仙花数有:");
int i = 100; //1-初始化变量
do{
//------------------------------------------------------------------
int ge = i%10; //得到个位
int shi = i/10%10; //得到十位
int bai = i/100%10; //得到百位 //3-循环体语句
if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == i){
System.out.println(i);
//------------------------------------------------------------------
}
i++; //4-控制条件语句
}while(i<1000); // 判断条件语句
}
}
输出:
100-999中的水仙花数有:
153
370
371
407