java的新手,坚持第4章数组

时间:2012-12-27 22:41:17

标签: java

我是java的初学者,我正在从Head First Java学习。在一个示例中,它给出以下代码并询问可能的输出(给定为: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 个答案:

答案 0 :(得分:0)

我认为m4a[x].counter除了每次都设置为1之外什么都不做。在数组中创建新对象时:

m4a[x] = new Mix4();

counter设置为0。

int counter = 0;

紧接下一行:

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

只是将其设置为值“0 + 1”。

此数组中的前9个元素的counter值为1,其他11个元素的初始值不会被初始化。

答案 1 :(得分:0)

看起来你有一个包含20个Mix4对象的数组,该数组被称为“m4a”。 m4a [x]是数组位置“x”的Mix4对象,m4a [x] .counter正在寻址该对象的“计数器”变量。

答案 2 :(得分:0)

m4aMix4类型的数组,x是int。 ,因此m4a[x]是由Mix4编制索引的特定x

如果x为0,则m4a[x]是数组中的第0个Mix4。如果x为1,那么之后就是那个,依此类推。

现在,Mix4类有一个名为counter的元素,可由variablethatisaMix4.counter访问

因此

m4a[x].counter或将其可视化:(m4a[x]).counter是属于数组中counter项的x字段。

答案 3 :(得分:0)

您是否正确复制并通过了代码?这不是学习数组的简单方法!