import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { /** ArrayDeque替代Stack,因为stack是线程安全的,性能相对较差,使用ArrayDeque 1.push(x),整数入栈,ArrayDeque.push 2.pop(),栈非空ArrayDeque.isEmpty(),删除栈顶元素ArrayDeque.pop, 3.query(),输出栈顶元素ArrayDeque.peek() */ public static void main(String[] args) { Scanner in = new Scanner(System.in); Deque<Integer> stack = new ArrayDeque<>(); int n = in.nextInt(); in.nextLine();//手动消费 // 注意 hasNext 和 hasNextLine 的区别 while (n-->0) { // 注意 while 处理多个 case String s = in.nextLine(); String[] arr = s.split(" "); switch(arr[0]){ case "push": stack.push(Integer.parseInt(arr[1])); break; case "size": System.out.println(stack.size()); break; case "query": if(stack.isEmpty()){ System.out.println("Empty"); }else{ System.out.println(stack.peek()); } break; case "pop": if(stack.isEmpty()){ System.out.println("Empty"); }else{ stack.pop(); } break; default: break; } } } }