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

请问大神这样哪里有错

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

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

谢谢

提问者:小小铁头娃 2019-03-27 09:39

个回答

  • 小小铁头娃
    2019-03-27 15:18:09

    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;			
                }		
            }	
        }
    }

    正确代码应该这样

  • 慕小尘
    2019-03-27 10:20:51

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