본문 바로가기

자바(java)

사이트 북마크 관리: 웹 사이트 주소를 저장하고 관리할 수 있는 북마크 앱을 개발합니다.

반응형

북마크 앱 개발에 대한 상세한 가이드를 제공하겠습니다. 이 가이드는 Java를 이용한 웹 사이트 주소 저장 및 관리 애플리케이션 개발에 초점을 맞추고 있습니다. 총 4개의 주요 파트로 나누어 설명하고, 마지막에는 한글 태그를 정리해드리겠습니다.

1. 내용 설명

개요

북마크 앱은 사용자가 웹 사이트 주소(URL)를 저장하고, 이를 쉽게 관리할 수 있게 해주는 도구입니다. 사용자는 새로운 북마크를 추가, 수정, 삭제할 수 있으며, 저장된 북마크를 카테고리별로 분류하거나 검색할 수 있습니다.

2. 프로그램간 사용 함수 설명

주요 함수

  • addBookmark(String url, String title): 새 북마크를 추가합니다.
  • editBookmark(int id, String newUrl, String newTitle): 기존 북마크를 수정합니다.
  • deleteBookmark(int id): 북마크를 삭제합니다.
  • listBookmarks(): 저장된 모든 북마크를 리스트로 보여줍니다.
  • searchBookmarks(String keyword): 키워드로 북마크를 검색합니다.

3. 코딩 내용

import java.util.ArrayList;
import java.util.Scanner;

public class BookmarkManager {
    private ArrayList<Bookmark> bookmarks;
    private Scanner scanner;

    public BookmarkManager() {
        this.bookmarks = new ArrayList<>();
        this.scanner = new Scanner(System.in);
    }

    public void addBookmark(String url, String title) {
        Bookmark bookmark = new Bookmark(url, title);
        bookmarks.add(bookmark);
        System.out.println("북마크가 추가되었습니다.");
    }

    public void editBookmark(int id, String newUrl, String newTitle) {
        if(id >= 0 && id < bookmarks.size()) {
            Bookmark bookmark = bookmarks.get(id);
            bookmark.setUrl(newUrl);
            bookmark.setTitle(newTitle);
            System.out.println("북마크가 수정되었습니다.");
        } else {
            System.out.println("잘못된 ID입니다.");
        }
    }

    public void deleteBookmark(int id) {
        if(id >= 0 && id < bookmarks.size()) {
            bookmarks.remove(id);
            System.out.println("북마크가 삭제되었습니다.");
        } else {
            System.out.println("잘못된 ID입니다.");
        }
    }

    public void listBookmarks() {
        for (int i = 0; i < bookmarks.size(); i++) {
            Bookmark bookmark = bookmarks.get(i);
            System.out.println(i + ": " + bookmark);
        }
    }

    public void searchBookmarks(String keyword) {
        for (Bookmark bookmark : bookmarks) {
            if (bookmark.getTitle().contains(keyword) || bookmark.getUrl().contains(keyword)) {
                System.out.println(bookmark);
            }
        }
    }

    public static void main(String[] args) {
        BookmarkManager manager = new BookmarkManager();
        Scanner scanner = new Scanner(System.in);

        while (true) {
            System.out.println("\n북마크 관리 프로그램");
            System.out.println("1. 북마크 추가");
            System.out.println("2. 북마크 수정");
            System.out.println("3. 북마크 삭제");
            System.out.println("4. 모든 북마크 보기");
            System.out.println("5. 북마크 검색");
            System.out.println("0. 종료");
            Systehttp://m.out.print("선택: ");

            int choice = scanner.nextInt();
            scanner.nextLine(); // 숫자 입력 후 줄바꿈 처리

            switch (choice) {
                case 1:
                    Systehttp://m.out.print("URL 입력: ");
                    String url = scanner.nextLine();
                    Systehttp://m.out.print("제목 입력: ");
                    String title = scanner.nextLine();
                    manager.addBookmark(url, title);
                    break;
                case 2:
                    Systehttp://m.out.print("수정할 북마크 ID 입력: ");
                    int editId = scanner.nextInt();
                    scanner.nextLine();
                    Systehttp://m.out.print("새 URL 입력: ");
                    String newUrl = scanner.nextLine();
                    Systehttp://m.out.print("새 제목 입력: ");
                    String newTitle = scanner.nextLine();
                    manager.editBookmark(editId, newUrl, newTitle);
                    break;
                case 3:
                    Systehttp://m.out.print("삭제할 북마크 ID 입력: ");
                    int deleteId = scanner.nextInt();
                    manager.deleteBookmark(deleteId);
                    break;
                case 4:
                    manager.listBookmarks();
                    break;
                case 5:
                    Systehttp://m.out.print("검색 키워드 입력: ");
                    String keyword = scanner.nextLine();
                    manager.searchBookmarks(keyword);
                    break;
                case 0:
                    System.out.println("프로그램을 종료합니다.");
                    scanner.close();
                    return;
                default:
                    System.out.println("잘못된 선택입니다. 다시 시도하세요.");
            }
        }
    }
}

class Bookmark {
    private String url;
    private String title;

    public Bookmark(String url, String title) {
        this.url = url;
        this.title = title;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    @Override
    public String toString() {
        return "Bookmark{" +
                "url='" + url + '\'' +
                ", title='" + title + '\'' +
                '}';
    }
}

 

4. 전문용어

  • Java: 객체 지향 프로그래밍 언어로, 이 프로젝트의 주 개발 언어입니다.
  • ArrayList: Java의 컬렉션 프레임워크에 속한 동적 배열을 구현한 클래스입니다.
  • 객체 지향 프로그래밍(OOP): 코드를 객체로 구조화하는 프로그래밍 방법론입니다.

5. 라이브러리 추가 및 실행 방법

라이브러리

Java 표준 라이브러리만 사용했기 때문에 별도의 추가 라이브러리는 필요하지 않습니다.

실행 방법

  1. Java 개발 환경(예: JDK)을 설치합니다.
  2. 위에 제공된 코드를 Java 파일로 저장합니다.
  3. 컴파일 후 실행합니다.

컴파일

javac -encoding UTF-8 BookmarkManager.java

 

실행

java BookmarkManager

반응형