问题补充说明:这是我自己写的,想用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是为了得到这个数的个位数360问答,但是你只是对100进行验掌歌士了模操作,那么这个结果就可能是两位数,明显和你的初衷不符,你应该在对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){
System.out空上层日阳消免.println(a);
i++;
}
}
System.out.println("你找的水仙花个数为:"+i);
}
}