package week_2;
import java.util.Scanner;
public class MemoryExe {
public static void main(String[] args) {
int num;
Scanner sc = new Scanner(System.in);
// Memory mr = null;
while (true) {
System.out.println("입력할 값의 타입을 정하시오");
System.out.println("1.INT 2.String ==>");
num = sc.nextInt();
System.out.print("1. 스택 2. 큐 => ");
int num2 = sc.nextInt();
if (num == 1) {// 입력값이 int
if (num2 == 1) {
Memory<Integer> mr = new MyStack<Integer>(new Integer[5]);
mainExe(mr, sc, num);
} else {
Memory<Integer> mr = new MyQueue<Integer>(new Integer[5]);
mainExe(mr, sc, num);
}
} else {// 입력값이 String
if (num2 == 1) {
Memory<String> mr = new MyStack<String>(new String[5]);
mainExe(mr, sc, num);
} else {
Memory<String> mr = new MyQueue<String>(new String[5]);
mainExe(mr, sc, num);
}
}
}
}
public static void mainExe(Memory mr, Scanner sc, int num) {
out: while (true) {
System.out.print("1. push 2. pop 3. 나가기 => ");
int value = sc.nextInt();
switch (value) {
case 1:
System.out.print("값을 입력하시오 : ");
if (num == 1) {
mr.push(sc.nextInt());
} else {
mr.push(sc.next());
}
break;
case 2:
System.out.println("출력값 : " + mr.pop());
break;
case 3:
break out;
default:
System.out.println("형식에 맞지않습니다");
break;
}
}
}
}