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

我的思路咋和答案这么不同。。。。这样写奇怪吗??

我的思路咋和答案这么不同。。。。这样写奇怪吗??

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

for(int i=1;num/i!=0;i*=10){

    count++;

}

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

 }

}


正在回答

代码语言

4 回答

这样写应该也是对的~这样是和10的n次方进行比较,当达到1000时,1000大于999,999/1000值为0,由此得到其为3位数~不知道我的理解对吗?

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

尤栗卡 提问者

对的,这段代码功能上是正确的
2017-02-23 回复 有任何疑惑可以回复我~
#2

尤栗卡 提问者

非常感谢!
2017-03-01 回复 有任何疑惑可以回复我~

输入999,则输出 “它是个3位的数!

这是问题!我想这个代码直接得出结果,没有输出999.

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

没看提示之前我也是用的这个方法

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

这思路很好啊,变通

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

尤栗卡 提问者

谢谢,我想知道这样写和官方答案相比,有没有什么缺陷,比如说极限条件下,或者是重复调用时
2017-02-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我的思路咋和答案这么不同。。。。这样写奇怪吗??

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