package 栈;
import java.util.Scanner;
public class stack {
public static void main(String[] args) {
boolean c;
Scanner in=new Scanner(System.in);
StringStack stack1=new StringStack();
while(true)
{
int x,y,i;
System.out.println("1.进栈");
System.out.println("2.出站");
System.out.println("3.栈顶元素");
System.out.println("4.栈是否为空");
System.out.println("请选择:");
x=in.nextInt();
switch(x) {
case 1:
System.out.println("输入栈的长度");
y=in.nextInt();
System.out.println("输入进栈元素");
for(i=0;i<y;i++)
{
String input=in.next();
stack1.push(input);
}
break;
case 2:
if(stack1.isEmpty())
{
System.out.println("此栈为空");
}
else while(!stack1.isEmpty())
{
System.out.println(stack1.pop()+"");
}
System.out.println();
break;
case 3:
c=stack1.isEmpty();
if(c==true)
{
System.out.println("栈为空");
}
else
System.out.println(stack1.top());
break;
case 4:
c=stack1.isEmpty();
if(c==true)
{
System.out.println("栈为空");
}
else
{
System.out.println("栈不为空");
}
break;
default:
System.out.println("输入信息有误");
}
}
}
}
package ջ;
import java.util.*;
public class StringStack {
private LinkedList<String>i;
public StringStack() {
i=new LinkedList<String>();
}
public void push(String name)
{
i.addFirst(name);
}
public String top()
{
return i.getFirst();
}
public String pop()
{
return i.removeFirst();
}
public boolean isEmpty()
{
return i.isEmpty();
}
}