问答详情
源自:4-15 编程练习

这个运行为什么不成功?

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

int i=1;

for (count=0;num/i>=0;count++){

    i=i*10;

}

System.out.println("它是个"+count+"位的数");

}

}

运行错误,原因是i=0,被除数为0,我不是已给i进行了初始化吗?

提问者:慕粉3733051 2016-08-13 10:36

个回答

  • 慕粉3733051
    2016-08-20 06:45:10

    不停的实验,自己发现问题的所在是这里for (count=0;num/i>=0;count++){,正确的写法如下:

    for (count=0;(num/i)>=0;count++){

    另外,刚才看到有楼上所说的count的初始化问题,我第一次写的时候也是直接for (count;num/i>=0;count++){

    结果会报错,提示count未初始化,这个问题也是不太明白

  • 慕粉1471078350
    2016-08-15 13:01:37

    前面赋初值,for里面的初始化那里可以不写。num/i>=0改成num/i>0,不然跳不出循环。

  • 李莫愁_Yico
    2016-08-13 10:58:20

    为什么要在for里对 count初始化。。在for里对i初始化试试