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の最初の2行は取得されますが、最後の2行は取得されません....whileループが実行されていないようです.....出力に関するコードの問題を教えてください???

4

1 に答える 1

4

ステートメントの最後にセミコロンがあります。while

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

while ループが実行されていないようです。

実際、 の値は常に同じであり、そのセミコロンのxために while の本体がないため、無限に実行されます、それを変更します。次のコードは、ローカル スコープのブロックであり、 とは関係ありません。while

于 2013-07-21T18:03:59.723 に答える