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

大家找找茬!谢谢呢

请问这个代码输出的是不是:”它是个3位的数!“,若不是,错在哪里,请指教

public class HelloWorld{

public static void main(String[] args){

    int num = 999;

    int i = 0;

    for(int i=1;;i++){

        num /= 10;

        if(num == 0){

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

            berak;

        }

    }

}


提问者:凌云笑 2016-04-09 20:39

个回答

  • Tsa
    2016-04-09 21:46:05
    已采纳

    i重复声明了,前面i=0,循环里又i=1;break 打错了。改了这两点就可以运行了。刚学几天可能说得不对,按照自己的理解改的。

    public class HelloWorld{

    public static void main(String[]args){

       int num = 999;

       for(int i=1;;i++){

           num /= 10;

           if(num == 0){

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

               break;

           }

       }

    }

    }


  • 凯东
    2016-04-10 17:25:34

    10的倍数除以10也是0,所以if处的判定就没意义了。

  • 爱小凡丶
    2016-04-09 23:06:32

    public class HelloWorld {
    	public static void main(String[] args){
    	    int num = 999;
    	    int i = 0;
    	    for(i=1;;i++){
    	        num /= 10;
    	        if(num == 0){
    	            System.out.println("它是个"+i+"位的数!");
    	            break;
    	        }
    	    }
        }
    }

    三个错误:

    1、第4行已经申明过i了,第5行又重新申明了一次

    2、break拼写错误

    3、少了一个}

  • Tsa
    2016-04-09 21:50:23

    可以复制到eclipse里面检查代码,看提示修改。

  • 血祭devil
    2016-04-09 21:14:59

    for多了个分号