JAVA

[게시판 만들기] #6 게시판 글 수정하기

leesein 2021. 1. 8. 19:55

주요 키워드

(1) "modify" 명령어

(2) 수정할 내용 입력 받기

 

Main class
package com.exam3;

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

public class Main {

	public static void main(String[] args) {
		System.out.println("==프로그램 시작==");
		Scanner sc = new Scanner(System.in);
		int lastArticleId = 0;
		
		ArrayList<Article> articles = new ArrayList<>();
		
		while(true) {
			System.out.printf("명령어) ");
			String commend = sc.nextLine();
		
			if(commend.equals("exit")) {
				break;
			}
			else if(commend.equals("write")) {
				int id = lastArticleId + 1;
				lastArticleId = id;
				
				System.out.printf("제목 : ");
				String title = sc.nextLine();
				System.out.printf("내용 : ");
				String body = sc.nextLine();
				
				Article article = new Article(id, title, body);
				articles.add(article);
				
				System.out.printf("%d번 글이 생성되었습니다.\n", id);
			}
			else if(commend.equals("list")) {
				if(articles.size() == 0) {
					System.out.println("게시물이 없습니다.");
					continue;
				}				
				System.out.println("번호 : 제목");				
				for(int i = articles.size() - 1; i >= 0; i--) {
					Article article = articles.get(i);
					
					System.out.printf("%d : %s\n", article.id, article.title);
				}				
			}
			else if(commend.startsWith("detail ")) {
				String[] commendBits = commend.split(" ");
				int id = Integer.parseInt(commendBits[1]);
				
				Article foundArticle = null;
				
				for(int i = 0; i < articles.size(); i++) {
					Article article = articles.get(i);
					
					if(article.id == id) {
						foundArticle = article;
						break;
					}
				}
				if(foundArticle == null) {
					System.out.println("없는 게시물 입니다.");
					continue;
				}
				System.out.printf("번호 : %d\n", foundArticle.id);
				System.out.printf("제목 : %s\n", foundArticle.title);
				System.out.printf("내용 : %s\n", foundArticle.body);
				
			}
			else if(commend.startsWith("delete ")) {
				String[] commendBits = commend.split(" ");
				int id = Integer.parseInt(commendBits[1]);
				
				int foundIndex = -1;
				
				for(int i = 0; i < articles.size(); i++) {
					Article article = articles.get(i);
					
					if(article.id == id) {
						foundIndex = i;
						break;
					}
				}			
				if(foundIndex == -1) {
					System.out.println("없는 게시글 입니다.");
					continue;
				}				
				articles.remove(foundIndex);
				System.out.printf("%d번 게시글이 삭제되었습니다.\n", id);				
			}
            
            
			else if(commend.startsWith("modify ")) {
				String[] commendBits = commend.split(" ");
				int id = Integer.parseInt(commendBits[1]);
				
				Article foundArticle = null;
				
				for(int i = 0; i < articles.size(); i++) {
					Article article = articles.get(i);
					if(article.id == id) {
						foundArticle = article;
						break;
					}
				}
				
				if(foundArticle == null) {
					System.out.println("없는 게시글 입니다.");
					continue;
				}
				
				System.out.printf("제목 : ");
				String title = sc.nextLine();
				System.out.printf("내용 : ");
				String body = sc.nextLine();
				
				foundArticle.title = title;
				foundArticle.body = body;
				
				System.out.printf("%d번 게시글이 수정되었습니다.\n", id);
				
			}
			
            
            
			else {
				System.out.println("명령어가 잘못 입력 되었습니다.");
			}			
		}	
		sc.close();
		System.out.println("==프로그램 종료==");
	}
}
Article class
생략 (#게시판만들기3에 있음)

결과 :ㅕ