Verallgemeinerter Stack mit Typbeschränkung

Java Medium generics

Aufgabe «Verallgemeinerter Stack mit Typbeschränkung»

Implementieren Sie eine parametrisierte Klasse GenericStack<T extends Number>, die einen Stack von Zahlen (Integer, Double usw.) darstellt. Die Klasse soll die Methoden push(T element), T pop(), T peek() und boolean isEmpty() enthalten. Verwenden Sie intern ein Array oder ArrayList. Lesen Sie in der main-Methode aus der Standardeingabe eine Folge von Zeilen: die erste Zeile ist der Zahlentyp (Integer oder Double), die zweite Zeile ist die Anzahl der Operationen n, dann folgen n Zeilen mit Operationen: push <Wert>, pop, peek. Geben Sie für jede Operation das Ergebnis aus (für pop und peek den Wert, für push 'ok'). Wenn der Stack bei pop oder peek leer ist, geben Sie 'error' aus.

Eingabeformat

Erste Zeile — Zahlentyp (Integer oder Double). Zweite Zeile — ganze Zahl n (1 ≤ n ≤ 100). Dann n Zeilen, jede enthält einen der Befehle: push <Zahl>, pop, peek.

Ausgabeformat

Geben Sie für jeden Befehl das Ergebnis (ok, Zahl oder error) in einer separaten Zeile aus.

Beispiele

Beispiel 1

EINGABE
Double 4 push 3.14 peek pop pop
AUSGABE
ok 3.14 3.14 error
main.java