题目:打印出所有的”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
public
class DaffodilTest
{
public
static
void main(String[] args)
{
int x=0;
Vector v =
new Vector();
DaffodilNumber db =
new DaffodilNumber();
for(
int i=100;i<1000;i++)
{
if(db.isDaffodilNumber(i)==
true)
{
v.add(i);
x++;
}
}
System.out.println(
“100到1000之间有” + x +
“个水仙花数”);
System.out.println(
“所有的水仙花数为:”+v);
}
}
class DaffodilNumber
{
int b,s,g;
public
boolean isDaffodilNumber(
int i)
{
boolean flag =
false;
g = i%10;
//个位数
s = (i/10)%10;
//十位数
b = i/100;
//百位数
if(i==((g*g*g)+(s*s*s)+(b*b*b)))
{
flag =
true;
}
return flag;
}
}
转载于:https://blog.51cto.com/shylx123/553513
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110624.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...