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

请问这样为什么不对?

public class HelloWorld{
public static void main(String[]args){
int num;
int count;
for(num=999,count=0;num>=0;count++){
    num=num/10;
}
System.out.println(count);
}
}


提问者:慕雪8562476 2017-04-02 16:04

个回答

  • 慕田峪4657462
    2017-04-02 16:36:53
    已采纳

    系统运行 num=num/10这部分时,当运行到第3此时为num=9/10,在int类型中,会将小数点后的数字无条件的舍去,所以实际的结果num=0,这时在for循环中num>=0时会进入死循环,无法跳出,所以循环条件改成for(num=999,count=0;num>0;count++)即可

  • 慕运维7154151
    2017-04-02 16:47:20

    public class HelloWorld{

    public static void main(String[]args){

    int num=999;

    int count=0;

    for(;num>0;count++){

        num=num/10;

    }

    System.out.println(count);

    }

    }