目录
题目 : 19.2(使用继承实现GenericStack)
代码示例
java-toc" style="margin-left:160px;">编程练习题19_2.java
java-toc" style="margin-left:160px;">编程练习题19_2Test.java
输出结果:
题目 : 19.2(使用继承实现GenericStack)
/*19.2
* 程序清单19-1中,GenericStack是使用组合实现的,定义一个新的继承自ArrayList的栈类。
* 画出UML图,然后实现GenericStack。
* 编写一个测试程序,提示用户输入5个字符串,然后以逆序显示它们。
*/
代码示例
java">编程练习题19_2.java
/* ---------UML图------------/
* 编程练习题19_2<E> extend ArrayList<E>
* ---------------------------/
* peek():E
* push(E o)
* pop():E
* -----------------------/
*/
java">public class 编程练习题19_2 <E> extends ArrayList<E>{public E peek() {if(this.isEmpty()) {throw new RuntimeException("栈为空,无法执行peek操作");}return this.get(this.size()-1);}public void push(E o) {this.add(o);}public E pop() {if(this.isEmpty()) {throw new RuntimeException("栈为空,无法执行pop操作");}return this.remove(this.size()-1);}}
java">编程练习题19_2Test.java
java">package chapter_19;import java.util.Scanner;
class 编程练习题19_2Test{public static void main(String[] args) {编程练习题19_2<String> stack = new 编程练习题19_2<>();Scanner input = new Scanner(System.in);System.out.print("请输入5个字符串:");for(int i = 0;i < 5;i++) {stack.push(input.nextLine());}System.out.print("逆序输出:");while(!stack.isEmpty()) {System.out.print(stack.pop()+",");}input.close();}
}
输出结果:
java">请输入5个字符串:a
b
c
d
e
逆序输出:e,d,c,b,a,