(利用继承实现MyStack)在程序清单11-10中,MyStack是用组合实现的。创建一个继承自 ArrayList的新的栈类MyStack。编写一个测试程序,提示用户输人5个字符串,然后以逆序显示这些字符串。
【课本389页11-10】
运行结果
如果需要功能更完善、代码更简洁以及bug更少的代码,可以到我的小程序 航筱北同学上搜索查看。里面还有很多实战项目和面试话术。
代码
import java.util.Scanner;
//MyStack 使用继承实现堆栈
class MyStack extends java.util.ArrayList<Object> {
public boolean isEmpty() {
return super.isEmpty();
}
public int getSize() {
return size();
}
public Object peek() {
return get(getSize() - 1);
}
public Object pop() {
return remove(getSize() - 1);
}
public Object push(Object o) {
add(o);
return o;
}
public String toString() {
return "stack: " + toString();
}
}
public class OtherMyStack {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入5个字符串:");
MyStack stack = new MyStack();
for (int i = 0; i < 5; i++)
stack.push(input.next());
System.out.println("输入的这" + stack.getSize() + "个字符串逆序输出为: ");
while (!stack.isEmpty())
System.out.print(stack.pop() + " ");
}
}
以上