웹 방문 기록을 스택에 쌓아두는 예제입니다.
이전 : pop
앞 : push
Browser.class
package com.company;
import java.util.Stack;
class Browser {
public Stack back; //이전 방문 기록
public Stack forward; //다음 방문 기록
public Browser() {
this.back = new Stack();
this.forward = new Stack();
}
//주소를 입력하면 웹사이트 방문
public void goUrl(String url) {
System.out.println(url + " 접속함");
back.push(url);
}
//방문기록 확인하기
public void histroy() {
if(!back.empty() && forward.empty()) {
System.out.println("url을 켜세요.");
}
System.out.println("==============");
System.out.println("back : " + back);
System.out.println("now : " + back.peek());
System.out.println("forward : " + forward);
System.out.println("==============");
}
//뒤로가기
public void goBack() {
if(!back.empty()) {
forward.push(back.pop());
}
}
public void goForward() {
if(!back.empty()) {
back.push(forward.pop());
}
}
}
Main.class
package com.company;
public class Main {
public static void main(String[] args) {
Browser b = new Browser();
b.goUrl("네이버");
b.goUrl("구글");
b.goUrl("다음");
b.goBack();
b.goForward();
b.histroy();
}
}
'5. 알고리즘 > 5_2 실전' 카테고리의 다른 글
[알고리즘] JAVA 큐(Queue) 알고리즘 (0) | 2020.02.19 |
---|---|
[알고리즘] JAVA 스택(Stack) 알고리즘 (0) | 2020.02.19 |
[알고리즘] JAVA 계수 정렬 (Counting Sort) 알고리즘 (0) | 2020.02.17 |
[알고리즘] JAVA 힙 정렬 (Heap Sort) 알고리즘 (0) | 2020.02.16 |
[알고리즘] JAVA 병합 정렬 (Merge Sort) 알고리즘 (0) | 2020.02.15 |