在 Java 中打印堆栈值

2022-01-22 00:00:00 stack java

在 Java 中,我想打印 Stack 的内容.toString() 方法将它们打印在用逗号分隔的方括号中:[foo, bar, baz].

In Java, I want to print the contents of a Stack. The toString() method prints them encased in square brackets delimited by commas: [foo, bar, baz].

如何摆脱它们并只打印变量?

How do I get rid of them and print the variables only?

到目前为止我的代码:

Stack myStack = new Stack ();

for(int j=0; j<arrayForVar.length; j++) {
    if(arrayForVar[j][1] != null) {
        System.out.printf("%s 
", arrayForVar[j][1] + "
");
        myStack.push(arrayForVar[j][1]);
    }
}

System.out.printf("%s 
", myStack.toString());

这个答案对我有用:

在 Stack 上使用 toString 方法,并使用 replaceAll 方法将方括号的所有实例替换为空白字符串.像这样:

Use the toString method on the Stack, and use replaceAll method to replace all instances of square brackets with blankstring. Like this:

System.out.print(
    myStack.toString().replaceAll("\[", "").replaceAll("]", ""));

推荐答案

有一个解决方法.

你可以把它转换成一个数组,然后用 Arrays.toString(Object[]):

You could convert it to an array and then print that out with Arrays.toString(Object[]):

System.out.println(Arrays.toString(myStack.toArray()));

相关文章