Pilha genérica com restrição de tipo
Java
Medium
generics
Tarefa «Pilha genérica com restrição de tipo»
Implemente uma classe parametrizada GenericStack<T extends Number>, que representa uma pilha de números (Integer, Double, etc.). A classe deve conter os métodos push(T element), T pop(), T peek() e boolean isEmpty(). Internamente, use um array ou ArrayList. No método main, leia da entrada padrão uma sequência de linhas: a primeira linha — o tipo dos números (Integer ou Double), a segunda linha — o número de operações n, em seguida n linhas com operações: push <valor>, pop, peek. Para cada operação, exiba o resultado (para pop e peek — o valor, para push — 'ok'). Se a pilha estiver vazia ao executar pop ou peek, exiba 'error'.
Formato de Entrada
A primeira linha — o tipo dos números (Integer ou Double). A segunda linha — um número inteiro n (1 ≤ n ≤ 100). Em seguida, n linhas, cada uma contendo um dos comandos: push <número>, pop, peek.
Formato de Saída
Para cada comando, exiba o resultado (ok, número ou error) em uma linha separada.
Exemplos
Exemplo 1
ENTRADA
Double
4
push 3.14
peek
pop
pop
SAÍDA
ok
3.14
3.14
error
main.java