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

为什么我的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+"位的数");

}

}

}

哪里错了?大神教教我

正在回答

3 回答

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 + "位的数");
 }
}

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

qq_鱼的不行_0

第一你print要在循环外不然你直接break了还输出什么 第二 你循环有问题你这样的花i一直是999 一个循环后你没对I的值改变 还有for(;;)里面的第一个如果你妹什么初始条件的话就不用加个x 进去 还有的为什么要弄break和continue进去= =
2016-12-04 回复 有任何疑惑可以回复我~
#2

半空之境 提问者

非常感谢!
2016-12-04 回复 有任何疑惑可以回复我~
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)。。共勉

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

小森先森

else { continue; } 这段可以被优化掉,用不到
2016-12-04 回复 有任何疑惑可以回复我~

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

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

举报

0/150
提交
取消

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

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