Post.java
package java_1st_assignment;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;
public class Post {
String title;
String content;
String postWriter;
String date;
Scanner sc = new Scanner(System.in);
public Post() { // 생성자
System.out.print("제목 >");
this.title = sc.nextLine();
System.out.print("내용 >");
this.content = sc.nextLine();
System.out.print("작성자 >");
this.postWriter = sc.nextLine();
System.out.println("글이 등록되었습니다.");
System.out.println("메인화면으로 돌아갑니다.");
LocalDateTime time = LocalDateTime.now();
date = time.format(DateTimeFormatter.ofPattern("yyyy년 MM월 dd일 hh시 mm분 ss초"));
}
public void postInformation() {
System.out.println(title + " " + postWriter + " " + date);
}
public void postContent() {
System.out.println("제목 : " + title);
System.out.println("내용 : " + content);
System.out.println("글쓴이 : " + postWriter);
System.out.println("작성 시간 : " + date);
System.out.println("글을 읽어왔습니다.");
}
}
CLIBoard.java
package java_1st_assignment;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
public class CLIBoard {
static ArrayList<Post> articles = new ArrayList<>();
static Scanner sc = new Scanner(System.in);
static boolean board_onoff = true;
public static void main(String[] args) {
mainShow();
listShow();
while (board_onoff) {
int selected_number = sc.nextInt();
switch (selected_number) {
case 1: // 글 목룍 보여주기
readPostShow();
listShow();
break;
case 2: // 글 등록하기
doPost();
mainShow();
listShow();
break;
case 3: // 글 내용 확인하기
readPost();
listShow();
break;
case 4: // 글 삭제하기
doPostRemove();
break;
case 0:
System.out.println("게시판을 종료합니다.");
board_onoff = false;
break;
}
}
}
public static void mainShow() { // 최상단 목록
System.out.println("==================");
System.out.println("번호 제목 작성자 작성일");
System.out.println("----------------------");
}
public static void listShow() { // 0~4 리스트 보여주기
System.out.println("1. 목록 2. 등록 3. 내용 4. 삭제 0. 종료 >>");
}
public static void doPost() { // 글 등록
System.out.println("제목, 내용, 작성자를 입력해주세요.");
articles.add(new Post());
}
public static void doPostRemove() {
System.out.println("삭제할 글 번호를 입력해주세요.");
int remove_number = sc.nextInt();
articles.remove(remove_number-1);
System.out.println("글이 삭제되었습니다.");
}
public static void readPostShow() { // 글 목록을 불러옴+
System.out.println("글번호 제목 내용 작성일시");
int post_count = 1;
if(articles == null) {
System.out.println("글 내역이 없습니다.");
}
for (Iterator<Post> itr = articles.iterator(); itr.hasNext();) {
System.out.print(post_count++ + " ");
itr.next().postInformation();
}
System.out.println("글 목록을 읽어왔습니다.");
}
public static void readPost() {
System.out.println("읽어올 글 번호를 입력해주세요");
int read_post_number = sc.nextInt();
articles.get(read_post_number-1).postContent();
}
}