带类型约束的泛型栈

Java Medium generics

任务 «带类型约束的泛型栈»

实现一个参数化类 GenericStack<T extends Number>,该类表示数字栈(Integer、Double 等)。该类应包含方法 push(T element)、T pop()、T peek() 和 boolean isEmpty()。内部使用数组或 ArrayList。在 main 方法中,从标准输入读取一系列字符串:第一行为数字类型(Integer 或 Double),第二行为操作数量 n,接下来 n 行每行为一个操作:push <值>、pop、peek。对于每个操作,输出结果(对于 pop 和 peek 输出值,对于 push 输出 'ok')。如果执行 pop 或 peek 时栈为空,则输出 'error'。

输入格式

第一行:数字类型(Integer 或 Double)。第二行:整数 n (1 ≤ n ≤ 100)。接下来 n 行,每行包含一个命令:push <数字>、pop、peek。

输出格式

对于每个命令,在单独一行上输出结果(ok、数字 或 error)。

示例

示例 1

输入
Double 4 push 3.14 peek pop pop
输出
ok 3.14 3.14 error
main.java