/*使用一维数组模拟站数组结构,这个栈可以存储java中任何引用类型数据。
* 栈中提供push方法模拟压栈(表示栈中多一个元素)(栈满了要有提示信息)
* 栈中提供pop方法模拟弹栈(栈中少一个元素)(栈空了要有提示信息)
* 编写测试程序,new栈对象调用方法模拟压栈弹栈的动作
* 要有一个栈帧永远指向第一个元素
* 每加一个元素栈帧加一每少一个元素栈帧减一
* */
//栈类
public class Stack {
Object[] objects;
int index;
public Stack() {
this.objects = new Object[3];
this.index = -1;//指针等于-1时指向
}
//压栈方法
void push(Object str) {
if (this.index >= this.objects.length) {
System.out.println("栈满了,放不进去");
} else {
//这个没想到没想到没想到!!!!!!!!!!!!!!!!!!!!!!!!!喵的喵的
this.index++;
objects[index] = str;
System.out.println(objects[index]);
}
}
//弹栈方法
void pop() {
if (index == -1) {
System.out.println("栈空了,没有东西可以弹出来");
} else {
//这个也没想到没想到没想到!!!!!!!!!!!!!!!!!!!!!!!!!喵的喵的
index--;
System.out.println("栈里弹出"+objects[index]+"此元素");
}
}
}
//测试类
public class Zuoye {
public static void main(String[] args) {
Stack stack=new Stack();
stack.push("cas");
stack.push(new Object());
}
}