게시판 생성일 2 “시행글 상세보기”(서면)

package Main;

import java.util.ArrayList;
import java.util.List;
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;
		List<Article> articles = new ArrayList<>();
		while (true) {
			System.out.print("명령어 > ");
			String command = sc.nextLine().trim();
			if (command.length() == 0) {
				System.out.println("명령어를 입력해주세요");
				continue;
			}
			if (command.equals("exit")) {
				break;
			}
			if (command.equals("article list")) {
				if (articles.size() == 0) {
					System.out.println("게시글이 없습니다");
				} else {
					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 (command.equals("article write")) {
				int id = lastArticleId + 1;
				System.out.print("제목 : ");
				String title = sc.nextLine();
				System.out.print("내용 : ");
				String body = sc.nextLine();
				Article article = new Article(id, title, body);
				articles.add(article);
				System.out.printf("%d번글이 생성되었습니다\n", id);
				lastArticleId++;
////////////////////////////////////////////////////////////////////
			} else if (command.startsWith("article detail")) {

				String() cmdDiv = command.split(" ");

				if (cmdDiv.length < 3) {
					System.out.println("명령어를 확인해주세요");
					continue;
				}

				int id = Integer.parseInt(cmdDiv(2));

				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.printf("%d번 게시물은 존재하지 않습니다\n", id);
					continue;
				}
				System.out.println("번호 : " + foundArticle.id);
				System.out.println("날짜 : " + "2023-12-12 12:12:12");
				System.out.println("제목 : " + foundArticle.title);
				System.out.println("내용 : " + foundArticle.body);

			} else {
				System.out.println("존재하지 않는 명령어입니다");
//////////////////////////////////////////////////////////////////////////////////////////
			}
		}
		System.out.println("==프로그램 끝==");
		sc.close();
	}
}

class Article {
	int id;
	String title;
	String body;

	Article(int id, String title, String body) {
		this.id = id;
		this.title = title;
		this.body = body;
	}
}

이제 아이템 상세보기 기능을 제대로 구현해 보겠습니다.

항목 세부 정보로 시작하는 문장인 startWith 사용

띄어쓰기로 구분하고 3번째 숫자는 문자열로 치환하여 ID값에 저장한다.

코드가 추가됨

if (cmdDiv.length < 3) { // 형식이 아닌 경우 ㅁ ㅁ ㅁ ㅁ

System.out.println(“명령을 확인하세요.”); // 반복할 출력

계속해; // 루프로 다시 전송

}

Ind id = 정수 parseInt(cmdDiv(2));

찾은 기사Article = null;

for(int i = 0 ; i < article.size(); i++){

기사 기사 = article.get(i);

if(항목.id == 아이디) {

foundArticle = 기사;

부서지다;

}

}

if(foundArticle == null) {

System.out.printf(“게시물 %d번은 존재하지 않습니다\n”, id)

계속해;

}