gpt4 book ai didi

java - 如何重写 toString 方法来显示我的堆栈?

转载 作者:行者123 更新时间:2023-12-01 19:41:58 29 4
gpt4 key购买 nike

如何重写堆栈上的 toString 方法以在输出中显示它。我有以下代码:

public class Stack {

    public int [] elements;
    public int top;

    public Stack (int e) {
        elements = new int [e];
        top = -1;
    }

    public void insert (int e) {
        if (! isFull ()) {
            top ++;
            elements [top] = e;
        }

    }

    public boolean isEmpty () {
        return top == -1;
    }

    public boolean isFull () {
        return this.top == this.elements.length - 1;
    }

    public int remove () {
        if (! isEmpty ()) {
            return elements [top--];
        }
        return 0;

    }

    public int size () {
        return this.elements.length;
    }
}

在本例中,我想在 main 类中显示我的实例化堆栈

使用 Java 本身的堆栈已经创建了一种结构,其中堆栈在输出中打印为:[1, 2, 3] 或 [1](如果它只有一个值)。

插入 toString:

    

@Override
    public String toString () {
        return "stack {" + "elements =" + elements + ", top =" + top + '}';
    }

只剩下类的名称了。我想要正确显示数组的东西有人可以帮我吗?

最佳答案

您可以使用Arrays#toString,它返回指定数组内容的字符串表示形式。

   @Override
public String toString () {
return "stack {" + "elements =" + Arrays.toString(elements) + ", top =" + top + '}';
}

上面的 String 方法返回如下格式的字符串:

stack {elements =[1, 2, 3], top =3}

关于java - 如何重写 toString 方法来显示我的堆栈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55081767/

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