Java经典案例之“水仙花数”

/**

* 描述:打印出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:

* 153=1^3+5^3+3^3等...

* 分析:利用for循环控制100-999个数,分别解出个位、十位、百位,然后分别将个位、十位、百位的立方和相加

* 看看是否等于该数本身。

* 作者:徐守威

*/

package com.xushouwei;

publicclass T3 {

/**

* @param args

*/

publicstaticvoid main(String[] args) {

// TODO Auto-generated method stub

System.out.print("100-999内水仙花数有:");

//遍历100-999之间的数

for(int i=100;i<1000;i++)

{

//调用Math类的pow方法求出个位的立方值

int geWei=(int)Math.pow((i%10), 3);

//调用Math类的pow方法求出十位的立方值

int shiWei=(int)Math.pow((i%100/10), 3);

//调用Math类的pow方法求出百位的立方值

int baiWei=(int)Math.pow((i/100), 3);

//定义一个数用于表示三个数的立方和

int sum=geWei+shiWei+baiWei;

//判断sum时候等于三个数的立方和

if(sum==(double)i)

{

System.out.print(i+" ");

}

}

}

}