问题补充说明:这是我自己写的,想用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); }}
错误出在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);
}
}