您的位置首页生活小窍门

java水仙花数

问题补充说明:这是我自己写的,想用for循环来完成,那位大侠帮忙看看那里出错了?public class ShxhNum{ public static void main(String[] args) { int a,b,c,d,i=0; System.out.println("你要找的水仙花数为: "); for(a=100;a<1000;a++) { b=a/100; c=(a/10)%10; d=a%100; if(a==b*b*b+c*c*c+d*d*d) ++i; System.out.println(a); } System.out.println("你找的水仙花个数为:"+i); }}

java水仙花数

错误出在d这个变量上征代初八谁报聚面,我知道你这里的d是为了得到这个数的个位数,但是你只是对100进行了模操作,来自那么这个结果就可能是两360问答位数,明显和你的初衷不符,你应该在对100进行模操作的基础上再对10做模操作,析功攻角燃翻鱼火景求投改成:

publicclassShxhNum{

publicstaticvoidmain(String[]args){

inta,b,c,d,i=0;

System.out.println("你要找的水仙花数为:");

成航呼for(a=100;被单a<1000;a++){

b=a/100;

c=(a/10)%10;

d=a%100%10;

if(a==b*b*b+c*c*c+d*d*d){

Syst危由散销建散成危低em.out.println(a);

i++;

}

}

System.out.println("你找的水仙花个数为:"+i);

}

}