2014-11-05 66 views
0

我写了一个方法,接收队列作为参数,然后将此队列转换为堆栈,现在我想尝试在main中打印此方法以查看它是否有效,但是没有toString方法的堆栈。我已经做了一些研究,并试图将堆栈转换为数组,但我无法实现它的工作。 Java, Printing the stack values如何在java中打印堆栈

有人可以给我一个关于如何做到这一点的提示吗?

public static void QueueStack(Queue<Integer> q){ 
    Stack<Integer> stack1 = new Stack<Integer>(); 
    while(!q.isEmpty()){ 
     int temp = q.dequeue(); 
     stack1.push(temp);  
    } 
    Arrays.toString(stack1.toArray()); 
} 
+1

你为什么不想要使用的System.out.println(栈1)? – BatScream 2014-11-05 03:00:00

+0

可能的重复http://stackoverflow.com/a/395403/1980659 – ForguesR 2014-11-05 03:00:39

+0

@BatScream我认为我不能使用Syso的堆栈(我学会了使用数组的堆栈,并且必须编写一个for来打印值),现在我知道我可以用它来打印出来。 – user2737948 2014-11-05 03:32:02

回答

1

您是否尝试过使用Stack类的toString()方法?

例如

stack1.toString(); 

或者是否存在您想要打印的特定格式?

0

您可以尝试Vector类的get(int index)方法Stack扩展,假设您不想在打印时弹出堆栈中的元素。

0

你也可以做它非常类似于如何初始化它。

while(!stack1.isEmpty()) 
    { 
     int t= stack1.pop(); 
     System.out.println(t); 
    } 
0
if (!tack1.isEmpty()) { 
    for(Object a : stack1) { 
     System.out.println(a); 
    } 
}