我正在尝试在Java中使用pop方法,如下所示。我希望看到的字符串的顺序是“c”、“b”、“a”
。然而,它只无限地打印 "c"
。为什么会发生这种情况?
Stack<String> a = new Stack<>();
a.push("a");
a.push("b");
a.push("c");
for(String i = a.pop(); !a.isEmpty() ;){
System.out.println(i);
}
最佳答案
您忘记了 for 循环的“增量”部分。您已经获得了初始化部分(调用一次,这就是 i
永远保留 c
的原因)和条件部分,但是缺少执行的最后一部分循环的每次迭代。
但是,我建议使用更合适的 while 循环,而不是编写 for(String i = a.pop; !a.isEmpty(); i = a.pop())
/p>
while(!a.isEmpty())
System.out.println(a.pop());
关于java - 在 for 循环初始化时弹出队列的元素最终会始终弹出相同的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42581538/