مكدس عام مع قيد النوع
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 <value>، pop، peek. لكل عملية، أخرج النتيجة (لـ pop و peek — القيمة، لـ push — 'ok'). إذا كان المكدس فارغًا أثناء pop أو peek، أخرج 'error'.
تنسيق الإدخال
السطر الأول — نوع الرقم (عدد صحيح أو عدد عشري).
السطر الثاني — عدد صحيح n (1 ≤ n ≤ 100).
ثم n من الأسطر، كل سطر يحتوي على أحد الأوامر: push <number>، pop، peek.
تنسيق الإخراج
لكل أمر، أخرج النتيجة (موافق، رقم، أو خطأ) في سطر منفصل.
أمثلة
مثال 1
الإدخال
Double
4
push 3.14
peek
pop
pop
الإخراج
ok
3.14
3.14
error
main.java