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

请问大神这样哪里有错

https://img1.sycdn.imooc.com//5c9ad6930001c7ae07950413.jpg1)为什么i必须在for语句外面定义?

2)运行结果错误,逻辑错在哪?

谢谢

正在回答

2 回答

public class NumberBit {	
    public static void main(String[] args) {		
        int num = 999;		
        for(int i =1; i <= 10; i++) {			
            int j = (int) Math.pow(10, i);			
            if(num < j) {				
                System.out.println("输入的数字" + num + "是一个" + i + "位数的数。");				
                break;			
            }		
        }	
    }
}

正确代码应该这样

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

慕九州7302270

math.pow为什么还需要强制转换为int呢?
2019-04-16 回复 有任何疑惑可以回复我~
#2

小小铁头娃 提问者 回复 慕九州7302270

当时粘过来忘了删,hhhh
2019-04-17 回复 有任何疑惑可以回复我~

1)i可以在for里面定义[for(int i =1; ; )] 但这个i就只有for里面的东西认识他,外面的System.out 就不认识了会报错找不到i;2)break只退出了if没有退出for他会继续循环

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

小小铁头娃 提问者

谢谢你,我自己已经解决了
2019-03-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问大神这样哪里有错

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