Memory class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | public abstract class Memory { protected int[] data; protected int top; public Memory() { data = new int[10]; top = 0; } public void push(int num) { if (top == data.length) { System.out.println("FULL!!"); return; } else { data[top++] = num; } } public abstract int pop(); } |
Stack class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public class Stack extends Memory { @Override public int pop() { if (top == 0) { System.out.println("EMPTY!!!"); return 0; } else { return data[--top]; } } } |
Queue class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public class Queue extends Memory { protected int front; public Queue() { front = 0; } @Override public int pop() { if (top == front) { System.out.println("EMPTY!!!"); return 0; } return data[(front++)]; } } |
// 수정 중에 있습니다. Queue가 front가 배열을 넘으면 입력 불가. 좋은 방법 있으심 이야기 해주셔도 됩니다:)
Main class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int num; int a; Memory mem; Queue que=new Queue(); Stack sta=new Stack(); do { System.out.println("1.stack" + "\t" + "2.queue" + "\t" + "3.Quit"); num=sc.nextInt(); if (num == 1) { mem = sta; } else if(num==2){ mem=que; } else if (num == 3) { continue; } else { System.out.println("Not num"); System.out.println("Bye"); num = 3; continue; } System.out.println("1.push"+ "\t"+ "2.pop"); num=sc.nextInt(); if (num == 1) { System.out.println("Data input : "); a=sc.nextInt(); mem.push(a); }else if (num == 2) { System.out.println(" output Data : " + mem.pop()); } else if (num==3){ System.out.println("Not num " + "\n"+"bye"); num=3; continue; } } while (num != 3); } } |
'code > JAVA' 카테고리의 다른 글
| eclipse(이클립스) 단축키 (0) | 2017.04.20 |
|---|---|
| [JAVA] unicasting 서로 주고 받는 채팅 (0) | 2017.04.20 |
| [JAVA] 성적처리 Has~a 관계 (0) | 2017.04.20 |
| [JAVA] 성적처리 string 형을 변환, 래퍼 클래스 (0) | 2017.04.20 |
| [JAVA] 사칙연산계산기 (0) | 2017.04.20 |