import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Deque<Integer> stackDeque = new ArrayDeque<>();
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        for (int i = 0; i < n; i++) {
            String string = scanner.next();
            if (string.equals("push")) {
                stackDeque.push(scanner.nextInt());
            } else if (string.equals("pop")) {
                if (stackDeque.size() > 0) {
                    stackDeque.pop();
                } else {
                    System.out.println("Empty");
                }
            } else if (string.equals("query")) {
                if (!stackDeque.isEmpty()) {
                    System.out.println(stackDeque.peek());
                } else {
                    System.out.println("Empty");
                }
            } else if (string.equals("size")) {
                System.out.println(stackDeque.size());
            }
        }




    }

}

使用栈推荐用Deque创建而不是Stack,后续pop()和peek()操作之前都得判断是否为空,如果为空还使用这两个函数,会报错