0
public class dog {
  String name;
  public void bark()
  {
  System.out.println(name+ "says warf!" );
  }

public static void main(String[] args) {
    dog dog1 = new dog();
    dog1.bark();
    dog1.name="bart";
    //creation of array
    dog[] dogs= new dog[3];
    //object reference
    dogs[0]= new dog();
    dogs[1]= new dog();
    dogs[2]= dog1;
    //Accessing object variables
    dogs[0].name= "fred";
    dogs[1].name= "marge";
    System.out.println("last dog's name is");
    System.out.println(dogs[2].name);
    //looping through array
    int x=0;
     while(x < (dogs.length));
     {
        dogs[x].bark();
        x=x+1;

     }
}     

}

大家好......我是java新手,并且是java编程的新手......在上面的代码中......根据“head first java”教科书......输出应该是

"null says warf!
last dog's name is bart
fred says warf!
marge says warf!"

但是在上面的代码中,我在eclipse ide中对其进行了编码.....前两行输出m得到但不是最后两行....似乎while循环没有被执行.....可以告诉我参考输出的代码有什么问题???

4

1 回答 1

4

语句末尾有一个分号:while

while(x < (dogs.length));  // Remove the semi-colon

似乎while循环没有被执行。

实际上,它将无限执行,因为 的值始终相同,并且由于分号x,您没有任何时间体来更改它。以下代码只是一个局部范围的块,与.while

于 2013-07-21T18:03:59.723 回答