gpt4 book ai didi

java - 为什么我必须在堆栈中两次将顶部初始化为-1?

转载 作者:行者123 更新时间:2023-11-30 06:16:43 25 4
gpt4 key购买 nike

我目前正在研究堆栈,有一件事我不明白。我必须创建两个构造函数。我不明白的是,当我的程序已经堆叠了一些元素时,为什么我必须将第二个构造函数的顶部设置为 -1?谢谢

public stack () { 
Array = new Object [MAX_ELEMENTS];
top = -1;
}

public stack (int elements) {
Array = new Object [elements];
top = -1;
}

最佳答案

why do I have to set the top at -1 for my second constructor

一般情况下,您不会这样做,但在本例中您会这样做,因为有两个独立的构造函数不会相互调用。有几种更好的解决方案:

  1. 内联初始化 top,而不是在构造函数中:

    int top = -1;
  2. 链接构造函数:

    public stack () { 
    this(MAX_ELEMENTS);
    }

    public stack (int elements) {
    Array = new Object [elements];
    top = -1;
    }
  3. 两者。

when my program already stacked some elements?

不,没有。它只是创建了一个您指定大小的数组。

关于java - 为什么我必须在堆栈中两次将顶部初始化为-1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49042721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com