【发布时间】:2015-11-15 10:19:20
【问题描述】:
我正在编写的这段代码用于练习“While 循环”。当我运行这段代码来计算数字中的位数时,java 不输出任何东西,我觉得这很奇怪,因为通常当我出错时它会给我一个错误,但是这个运行没有错误。有人能够指出并解释为什么没有输出显示吗?
import static java.lang.System.*;
public class DigitCounter
{
public static int countDigits( int number )
{
int sum=0;
while(number>0);
{
sum++;
number = number/10;
}
return sum;
}
}
\\new class
import static java.lang.System.*;
public class DigitCounterRunner
{
public static void main( String args[] )
{
out.println(DigitCounter.countDigits(234));
}
}
【问题讨论】:
-
我认为您不能在
inner类中执行main(没有封闭实例)。将main移动到外部DigitCounter类。 -
@Hanky웃Panky
import static位于顶部。对我来说,它看起来像是一个内部类。 -
很抱歉忽略了这一点
-
为什么不将一些调试输出语句放入您的 DigitCounter.countDigits() 方法中,看看里面发生了什么?您尝试过自己调试什么?
-
@Warren:鉴于下面的答案,这就是为什么您的第一步应该始终是使用调试器。单步执行代码会准确显示问题所在。
标签: java loops while-loop