用Java编程列出所有四位数字,其总和为7

kp9*_*980 0 java sum add

在Java中编程以列出具有单独的总和7的所有四位数字.即列出从0000到9999的数字,其将四个数字中的每一个的总和设为7.

例如:7171是一个四位数字,四位数字的总和为7 + 1 + 7 + 1 = 16然后1 + 6 = 7.因此应列出这种类型的数字.

我写了一个代码,但它没有工作.代码如下:

public class Add 
{
    double i,s,n=0;
    void method()
    {
        for(i=0000; i<=9999; i++)
        {
            for(n=i;n>0;n/=10)
            {
                s=s+(n%10);

            }
            while(s>9)
            {
                for(n=s;n>0;n/=10)
                {
                    s=s+(n%10);
                }

            }
            if(s==7)
            {
                System.out.println("i");
            }
        }
     }



public static void main(String[] args) 
    {
        Add ob=new Add();
        ob.method();
    }

}
Run Code Online (Sandbox Code Playgroud)

Tag*_*eev 10

这是你想要的程序:

public class SumDigits {
    public static void main(String[] args) {
        for(int i=7; i<=9999; i+=9)
            System.out.printf("%04d\n", i);
    }
}
Run Code Online (Sandbox Code Playgroud)

数字的总和为你提供除数的除法者.因此,从7开始并连续加9,你将得到所有这些数字.

  • @Xabster我在这个答案上来回走了一会儿,但我得出结论这是一个很好的答案,因为它对其他人有用.(即使它没有修复他们的作业,也对OP有帮助.)所以不应该是调试服务,也不应该是帮助站点.这不是'炫耀',它是理想的解决方案. (5认同)
  • @TagirValeev:这不是"帮助"这是"炫耀".他需要帮助修复和理解他的问题,而不是他不知道的数学规则的信息. (3认同)
  • 您提供*不同的*代码.OP如何通过复制粘贴现成的解决方案来从错误中吸取教训?请尽量指出他的错误并给他建议,以便将来帮助他. (2认同)
  • 当然,他提供*不同的*代码.相同的代码不起作用. (2认同)
  • 这个答案提供了一个非常优雅和有效的答案,以及一个解释.我当然从这个答案中学到了一些东西 (2认同)