Java 当我甚至没有向用户请求输入时,一个方法一直在请求输入
嘿,我正在解决一个叫sumdights的编码问题,在这里你可以用一个方法对一个数字的位数求和 例如 123应该返回1+2+3//6 这是密码Java 当我甚至没有向用户请求输入时,一个方法一直在请求输入,java,for-loop,Java,For Loop,嘿,我正在解决一个叫sumdights的编码问题,在这里你可以用一个方法对一个数字的位数求和 例如 123应该返回1+2+3//6 这是密码 public int sumDigits(int num ) // num = 123 { int sumOfDigits = 0; for(int i = num ; i >= 0 ; i /= 10) { int digit = i % 10; // stores
public int sumDigits(int num ) // num = 123
{
int sumOfDigits = 0;
for(int i = num ; i >= 0 ; i /= 10)
{
int digit = i % 10; // stores the rightmost digit then adds it to sumOfDigits
sumOfDigits += digit;
}
return sumOfDigits;
}
主要功能:-
System.out.println("Problem 4");
Assignment5 solutionA5 = new Assignment5();
System.out.println(solutionA5.sumDigits(123));
问题是,当我运行程序时
num参数是=123,正如我在注释中所写的
程序等待用户输入另一个num!
我不明白为什么,我甚至没有在.nextInt或类似的东西中包含任何扫描仪?
对不起,如果这是一个蹩脚的问题
程序等待用户输入另一个num
不,没有。它进入一个无限循环,因为i
永远不会变成负数。您的循环应该是:
for (int i = num; i > 0; i /= 10)
在一个完全不接受用户输入的程序中,“输入另一个num”可能意味着什么是另一个谜。它进入无限循环,即
i=0
的值。你应该改变
for(int i = num ; i >= 0 ; i /= 10)
到
我甚至没有在.nextInt中包含任何扫描仪 它也不会等待用户输入。它所做的只是:
System.out.println("Problem 4"); // prints 'Problem 4'
Assignment5 solutionA5 = new Assignment5();
System.out.println(solutionA5.sumDigits(123)); // goes into the infinite loop
是的,非常感谢!我没有想到这会导致一个无限循环。真的非常感谢!我没有想到这会导致一个无限循环actually@ShaDiliX我一直在问新手问题,不断地被投票否决。。。太令人沮丧了
System.out.println("Problem 4"); // prints 'Problem 4'
Assignment5 solutionA5 = new Assignment5();
System.out.println(solutionA5.sumDigits(123)); // goes into the infinite loop