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

我这个是怎么回事啊?

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;


for(int i=0; i<10;i++){

    

    if(num/10>1){

        count++;

        

    }else{

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

        break;

    }

}



}

}


正在回答

5 回答

if条件里面大于零试试

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

久点 提问者

public class HelloWorld{ public static void main(String[] args){ int num = 999; int count = 0; for(int i=0; i<10;i++){ if(num/10>0){ num/=10; count++; }else{ System.out.println("它是个"+count+"位的数"); break; } } } } 结果:它是个2位的数
2017-05-08 回复 有任何疑惑可以回复我~
#2

久点 提问者

那count的初始值就该为1了
2017-05-08 回复 有任何疑惑可以回复我~
#3

weibo_Mr会心一笑_0 回复 久点 提问者

你的条件跟我有点不像。我的是当num/10!=0的时候触发循环。你参考一下
2017-05-08 回复 有任何疑惑可以回复我~
#4

weibo_Mr会心一笑_0

被采纳很开心,但是我最初的回答并不是完美的。比较完美的条件应当是if(num/10!=0),因为我们初始的值999一直除以10,最后除到第三次的时候会得到0.9但是我们定义的是int型,所以Java强制转换成了0,最后构不成触发循环的条件,跳出循环,得count=3.初学,希望大家可以指正。
2017-05-08 回复 有任何疑惑可以回复我~
查看1条回复

中学课程

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

中学课程

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

弄好了,谢谢

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

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

if(num >= 0 && num <= 999999999){

while(num != 0){

count++;

num/=10;

}

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

}else{

System.out.println("输入有误!");

}

}

}


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

举报

0/150
提交
取消

我这个是怎么回事啊?

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