所以我尝试在程序中使用 pop(),但我不完全理解为什么它无法运行。是因为我使用扫描仪吗?有人可以解释为什么我的代码告诉我reverseStack中的pop()不能应用于(java.util.Stack) pop(stack); ^ 这是代码
import java.util.*;
public class reverseStack{
Scanner scan;
Stack <String>stack;
public static void main(String [] args)
{
Scanner scan = new Scanner (System.in);
System.out.println("Type something: ");
Stack<String> stack = new Stack<String>();
scan = new Scanner(scan.nextLine());
while (scan.hasNext()){
stack.push(scan.next());
}
System.out.println(stack);
printStack(stack);
pop(stack);
}
private static void printStack(Stack<String>s){
if(s.isEmpty())
{
System.out.println("true");
}
else {
System.out.println("false");
}
}
void pop(){
while(!stack.empty()){
System.out.println(stack.pop());
}
}
}
谢谢大佬
最佳答案
您在 reverseStack
中定义的 pop
不接受任何参数。这就是为什么你不能将它作为参数传递stack
。
关于java - 无法让我的堆栈程序使用 pop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40728233/