题解 | #【模板】栈#
【模板】栈
http://www.nowcoder.com/practice/104ce248c2f04cfb986b92d0548cccbf
import java.util.Scanner; import java.util.Stack; import java.lang.String; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=Integer.parseInt(sc.nextLine()); Stackone s=new Stackone(n); while(sc.hasNextLine()) { String[] str=sc.nextLine().split(" "); if(str[0].equals("push")) { s.push(Integer.parseInt(str[1])); }else if(str[0].equals("pop")) { s.pop(); }else{ s.top(); } } } } class Stackone{ int[] data; int size=0; int maxSize=0; int top=0; public Stackone(int maxSize) { this.maxSize=maxSize; this.data=new int[maxSize]; } public void push(int num)//入栈 { if(this.size==this.maxSize) { System.out.println("error"); }else{ data[top++]=num; this.size++; } } public void pop()//出栈 { if(this.size==0) { System.out.println("error"); }else{ System.out.println(data[--top]); this.size--; } } public void top()//栈顶 { if(this.size==0) { System.out.println("error"); }else{ System.out.println(data[top-1]); } } }