编写程序,使用一维数组,模拟数据结构。
要求
1、这个可以存java中的任何引用类型的数据。
在中提供push方法模拟压栈。(栈满了,要有提示信息。)
3、在栈中提供pop方法模拟弹栈。(空了,也要有提示信。)
4、编写测试程序,new栈对象,调用 push pop。方法来模拟压弹栈的动作。
知识点:
封装:第一步:属私有化,第二岁:对外提供set和get方法。
package stringJava;
public class myStack {
private Object [] elements;//创建对象数组可以保存String,等类型的数据,是一个万能的口袋
private int index;//默认栈帧
public myStack() {
this.elements=new Object [10];//无参数构造默认为10;
this.index=-1;
}
public void push(Object obj) {
if(this.index>=elements.length-1) {
System.out.println("栈已经满了,无法进栈");
return;
}
this.index++;
elements[index]=obj;
System.out.println("压栈成功栈帧为:"+index);
}
public Object pop() {
if(index<0) {
System.out.println("栈已经空了!");
return null;
}
System.out.println("栈顶元素为:"+elements[index]);
return elements[index--];
}
public Object [] getElements() {
return elements;
}
public void setElements(Object [] elements) {
this.elements=elements;
}
}
package stringJava;
import java.util.regex.*;
import java.util.Scanner;
import java.util.Timer;
import java.io.*;
import java.util.*;
import java.util.Vector;
import java.util.Enumeration;
public class stringJava{
public static void main(String args[]) {
myStack test=new myStack();
test.push("aaa");
test.push("aaa");
test.push("aaa");
test.push("aaa");
test.push("aaa");
test.push("aaa");
test.push("aaa");
test.push("aaa");
test.push("aaa");
test.push("aaa");
test.push("aaa");
test.pop();
}
}