1.创建增删改查的方法类
package 栈;
public class StarkDemo {
private Object [] obj;//栈数组
private int top;
public StarkDemo(){}
public StarkDemo(int size){
obj = new Object[size];
top=-1;
}
public boolean push(Object ob){
if(top>=obj.length-1){//当头部指针大于或等于栈长度时
System.out.println("栈已经满了");
return false;
}else{
obj[++top]=ob;//当栈未满时,下一个指向指向当前ob
System.out.println("增加成功");
return true;
}
}
//弹出
public Object pop(){
if(top<0){
System.out.println("栈内没有元素");
return null;
}else {
Object ob=obj[top];//删除当前指向的
obj[top]=null;//当前指向为空
top--;
System.out.println("删除成功");
return ob;
}
}
//查看
public Object peek(){
if(top<0){
System.out.println("栈內为空,请添加元素");
return null;
}else{
return obj[top];
}
}
}
2.创建一个测试类
package 栈;
import java.util.*;
import javax.xml.soap.Node;
import 栈.StarkDemo;
public class Test {
public static void main(String[] args) {
Scanner sc= new Scanner (System.in);
/*System.out.println("请输入。。。");
String date =sc.next();
StarkDemo sd=new StarkDemo(date.length());
char cr;
for(int i=0;i<date.length();i++){
cr=date.charAt(i);
sd.push(cr);
}
System.out.println(sd.peek());
*/
System.out.println("请确定栈的长度");
int d= sc.nextInt();
StarkDemo sd= new StarkDemo(d);
boolean a=true;
while(a){
System.out.println("1增加 2删除 3查看 4退出");
int s= sc.nextInt();
if(s==1){
System.out.println("请输入要增加的元素");
Object ob= sc.next();
sd.push(ob);
}else if(s==2){
sd.pop();
}else if(s==3){
System.out.println(sd.peek());
}else if(s==4){
a=false;
}else{
System.out.println("请输入1到4之间的数字");
}
}
}
}