728x90
반응형
자바(Java) 자료구조 중 하나인 스택(Stack)을 이용하여 웹 방문기록을 쌓아놓는 예제이다.
WebBrowser.class
package com.company;
import java.util.Stack;
class WebBrowser {
public Stack back; //이전 방문 기록
public Stack forward; //다음 방문 기록
public WebBrowser() {
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) {
WebBrowser b = new WebBrowser();
b.goUrl("네이버");
b.goUrl("구글");
b.goUrl("다음");
b.goBack();
b.goForward();
b.histroy();
}
}
728x90
반응형
'Algorithm > Data Structure' 카테고리의 다른 글
[Data Structure] 우선순위 큐(Priority Queue)란? (34) | 2023.01.18 |
---|---|
[Data Structure] 큐(Queue)란? (45) | 2023.01.16 |
[Data Structure] 스택(Stack)이란? (6) | 2023.01.10 |