2014-11-05 55 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); 
    } 
}