1

私は Java の初心者で、Head First Java から勉強しています。1 つの例では、次のコードを提供し、可能な出力を要求します (14 1 として与えられます)。m4a[x].counter は何をしますか? 私たちはそこからどのような価値を得ますか?ありがとうございました。

public class Mix4{
  int counter = 0;
  public static void main(String args[]){
    int count = 0;
    Mix4 [] m4a = new Mix4[20];
    int x = 0;
    while (x < 9){
      m4a[x] = new Mix4();
      m4a[x].counter = m4a[x].counter+1;
      count = count + 1;
      count = count + m4a[x].maybeNew(x);
      x = x + 1;
    }
    System.out.println(count + " " + m4a[1].counter);
 }
 public int maybeNew(int index){
   if(index<5){
     Mix4 m4 = new Mix4();
     m4.counter = m4.counter + 1;
     return 1;
  }
  return 0;
}

}

4

4 に答える 4

0

コードはちゃんとコピペしましたか?? これは、配列を学習する簡単な方法ではありません!

于 2012-12-28T00:02:17.627 に答える
0

m4a型の配列でMix4ありx、int です。によって索引付けされm4a[x]た特定のものも同様です。Mix4x

xが 0 の場合は、配列m4a[x]の 0 番目です。が 1 のMix4場合は、それ以降の場合などです。x

現在、Mix4 クラスには、counterによってアクセスされる要素が含まれています。variablethatisaMix4.counter

したがって

m4a[x].counterまたはそれを視覚化するために: 配列内の th 項目に属するフィールド(m4a[x]).counterです。counterx

于 2012-12-27T22:48:06.833 に答える
0

毎回m4a[x].counter設定する以外は何もしないように見えます。1配列に新しいオブジェクトを作成する場合:

m4a[x] = new Mix4();

counter0 に設定されます。

int counter = 0;

したがって、すぐ次の行:

m4a[x].counter = m4a[x].counter+1;

値「0 + 1」に設定するだけです。

この配列の最初の 9 つの要素のcounter値は 1 で、残りの 11 要素は初期化されていません。

于 2012-12-27T22:46:07.293 に答える
0

20 個の Mix4 オブジェクトの配列があり、その配列は「m4a」と呼ばれます。m4a[x] は配列の位置「x」にある Mix4 オブジェクトであり、m4a[x].counter はそのオブジェクトの「カウンター」変数をアドレス指定しています。

于 2012-12-27T22:46:50.220 に答える