import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); Stack1 stack = new Stack1(n); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextLine()) { // 注意 while 处理多个 case String str = in.nextLine(); String arr[] = str.split(" "); if(arr[0].equals("push")){ stack.push(Integer.parseInt(arr[1])); }else if(arr[0].equals("pop")){ stack.pop(); }else if(arr[0].equals("top")){ stack.top(); } } } } class Stack1{ int[] data; // 保存数据 int size = 0; // 栈中元素个数 int maxSize ; // 栈的最大容量 int top = 0; // 栈顶指针 (栈顶元素索引+1) public Stack1(int maxSize){ this.maxSize = maxSize; this.data = new int[maxSize]; } public void push(int val){ if(this.size == this.maxSize){ System.out.println("error"); }else{ data[top++] = val; this.size++; } } public void top(){ if(this.size == 0){ System.out.println("error"); }else{ System.out.println(data[top - 1]); // 打印栈顶元素 } } public void pop(){ if(this.size == 0){ System.out.println("error"); }else{ System.out.println(data[--top]); this.size--; // 栈内元素个数更新-1 } } }