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

为什么我的for语句会错?不懂,大神教教我

判断一个数(小于10位)的位数。 输入999,则输出 “它是个3位的数!

public class HelloWorld{

public static void main(String[] args){

int i = 999;

int x = 0;

for(x;x<10;x++){

    if(i/10<1){

       break;

    }else{

        continue;

    }

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

}

}

}

哪里错了?大神教教我

提问者:半空之境 2016-12-04 19:15

个回答

  • qq_鱼的不行_0
    2016-12-04 19:35:51
    已采纳

    package com.yu1;
    public class demo2 {
     public static void main(String[] args) {
      int i = 999;
      int x = 1;
      for (; x < 10; x++) {
       if ((i/=10) < 1) {
        break;
       } else {
        continue;
       }
      }
      System.out.println("它是个" + x + "位的数");
     }
    }

  • 小森先森
    2016-12-04 20:00:49

    public class a {
    public static void main(String[] args){
    	int i = 999;
    	int x = 1;
    	for(;x<10;x++){
    		i=i/10;
    	    if(i<1)
    	    {
    	       break;
    	    }else
    	    {
    	        continue;
    	    }
    	}
    		System.out.println("它是个"+x+"位的数");
    }
    }
    1. }的位置不对,

    2. for里面不能只写x,你前面已经定义了,就可以省略,但是“;”要写。

    3. x的初始值为1,因为没有0位的数。。for是先执行再判断。

    4. i/10<1  用法不对。。这样的话i一直不变,成死循环了。

    5. 同为初学者。。我也是参考1L大神才看出问题的(感谢一楼dalao)。。共勉

  • 一起逃吧
    2016-12-04 19:49:27

    鱼已经说了,嘛,这两个出错的地方这个课程都有讲,你最好用myeclipse来写,哪里出错了一下子就能看出来的