首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java新手入门,停留在第4章数组上

java新手入门,停留在第4章数组上
EN

Stack Overflow用户
提问于 2012-12-28 06:41:17
回答 4查看 268关注 0票数 1

我是Java的初学者,我正在从Head First java开始学习。在一个示例中,它给出了以下代码并询问可能的输出(给出:141)。m4ax.counter是做什么的?我们从中得到了什么价值?谢谢。

代码语言:javascript
复制
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;
}

}

EN

回答 4

Stack Overflow用户

发布于 2012-12-28 06:46:07

在我看来,除了每次都设置为1之外,m4a[x].counter不会做任何事情。在数组中创建新对象时:

代码语言:javascript
复制
m4a[x] = new Mix4();

counter设置为0。

代码语言:javascript
复制
int counter = 0;

所以紧随其后的一行:

代码语言:javascript
复制
m4a[x].counter = m4a[x].counter+1;

简单地将其设置为值"0 + 1“。

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

票数 0
EN

Stack Overflow用户

发布于 2012-12-28 06:46:50

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

票数 0
EN

Stack Overflow用户

发布于 2012-12-28 06:48:07

m4a是一个Mix4类型的数组,而x是一个整数。,所以m4a[x]是由x索引的特定Mix4

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

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

因此

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14062224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档