猿问

Java实现水仙数,为何程序无法输出?

关于Java实现水仙数的问题,问题大致为:

153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。

输出格式
  

按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。

public class BASIC_7_2_23 {
    public static void main(String args[]){
        int n,a=0,k,sum=0;
        for(n=100;n <= 999;n++)
        {
            k = n;
            while(k != 0){
                a = k % 10;
                sum = sum + a*a*a;
                k = k / 10;
            }
            if(n == sum){
                System.out.println(n);
            }
        }
    }
}

为何程序用Eclipse无法输出?就是什么都没有显示,有没有大神帮我跑一下。


收到一只叮咚
浏览 466回答 2
2回答

PIPIONE

我看了下代码,还觉得有点神奇,好像确实可以这么运行,但输出不对,就试着调试了下,结果发现明显sum与n不同步,再看发现sum根本每次用的时候没有初始化,解决方法就是把sum作为局部变量,或在循环的时候初始化一遍就行了.IDE用的android studio.

慕田峪7331174

你的Sum在第一次用完之后,重置了嘛?
随时随地看视频慕课网APP

相关分类

Java
我要回答