북마크 앱 개발에 대한 상세한 가이드를 제공하겠습니다. 이 가이드는 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 표준 라이브러리만 사용했기 때문에 별도의 추가 라이브러리는 필요하지 않습니다.
실행 방법
- Java 개발 환경(예: JDK)을 설치합니다.
- 위에 제공된 코드를 Java 파일로 저장합니다.
- 컴파일 후 실행합니다.
컴파일
javac -encoding UTF-8 BookmarkManager.java
실행
java BookmarkManager
'자바(java)' 카테고리의 다른 글
윈도우 음악 연주기: 사용자가 악보를 입력하면 음악을 연주하는 프로그램을 구현합니다. (1) | 2023.12.20 |
---|---|
세계 시계: 여러 지역의 현재 시간을 표시하는 세계 시계 어플리케이션을 설계합니다. (0) | 2023.12.20 |
골드바흐 추측 검증기: 골드바흐 추측을 검증하는 프로그램을 작성합니다. (0) | 2023.12.20 |
낙서 판: 마우스를 사용하여 그림을 그릴 수 있는 간단한 그림판을 개발합니다. (0) | 2023.12.20 |
윈도우 알람 시계 애플리케이션: 알람을 설정하고 시간에 맞춰 알람을 울리는 앱을 설계합니다. (0) | 2023.12.20 |