为了账号安全,请及时绑定邮箱和手机立即绑定

虽然运行正确,但是我总感觉有问题,各位同学帮忙看看可以吗~

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

for(;count<10; count++){

    if(num/10==0)

    {

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

        break;

    }

    num = num/10;

}


}

}


正在回答

2 回答

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

for(;count<10; count++){

    if(num==0)

    {

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

        break;

    }

    num = num/10;

}

}

}

感觉这样符号逻辑,num可能为0


1 回复 有任何疑惑可以回复我~

题目说小于10位,那最多检验9位数。你的代码里for循环里count 变量小于10,那最大就是9,    9+1=10,你的代码最多可以检验10位数。不合题意而已,其他没问题。0.0,嘻嘻嘻

0 回复 有任何疑惑可以回复我~
#1

不可能学不会 提问者

我找到原因了,if里面不应该用先除以10来判断,因为这样的话,最后只剩个位数时,除10等于0,就不满足要求了,count就要少一位,所以我才弄的count+1。
2019-05-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

虽然运行正确,但是我总感觉有问题,各位同学帮忙看看可以吗~

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信