JAVA

[게시판 만들기] #8 게시판 현재 날짜 생성하기

leesein 2021. 1. 9. 21:46

주요 키워드

(1) Util class 만들기 -> 현재 날짜 표시 생성

(2) Article class에 regDate 추가

(3) "write" -> 현재 날짜 가져오기

(4) "detail" -> 현재 날짜 표시 생성

Main class
package com.exam5;

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;
				
				String regDate = Util.getNowDateStr(); //Util에서 날짜가져오기
				System.out.printf("제목 : ");
				String title = sc.nextLine();
				System.out.printf("내용 : ");
				String body = sc.nextLine();
				
				Article article = new Article(id, title, body, 0, regDate); //regDate 추가
				articles.add(article);
				
				System.out.println(id + "번째 글이 생성되었습니다.");
			}
			else if(commend.equals("list")) {
				if(articles.size() == 0) {
					System.out.println("게시물이 없습니다.");
				}
				System.out.println("번호 : 제목 : 조회");
				for(int i = articles.size()-1 ; i>=0; i--) {
					Article article = articles.get(i);
					
					System.out.printf("%d : %s : %d\n", article.id, article.title, article.hit);
				}				
			}
			else if(commend.startsWith("detail ")) {
				String[] commendBits = commend.split(" ");
				int id = Integer.parseInt(commendBits[1]);
				System.out.println("====상세보기====");
				
				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;
				}
				foundArticle.increasHit();				
				System.out.printf("번호 : %d\n", foundArticle.id);
				System.out.printf("제목 : %s\n", foundArticle.title);
				System.out.printf("내용 : %s\n", foundArticle.body);
				System.out.printf("조회 : %d\n", foundArticle.hit);
				System.out.printf("날짜 : %s\n", foundArticle.regDate); //날짜 표시 추가
				System.out.println("============");
			}
			else if(commend.startsWith("delete ")) {
				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) {
						System.out.printf("%d번 게시물이 삭제되었습니");
					}
				}				
				if(foundArticle == null) {
					System.out.println("게시물이 존재하지 않습니다.");
					break;
				}
				
			}			
			else {
				System.out.println("잘못된 명령어 입니다.");
			}
		}	
		sc.close();
		System.out.println("====프로그램 종료====");
	}
}
Article class
package com.exam5;

public class Article {
	int id;
	String title;
	String body;
	int hit;
	String regDate;
	
	public Article(int id, String title, String body, int hit, String regDate) {
		this.id = id;
		this.title = title;
		this.body = body;
		this.hit = 0;
		this.regDate= regDate;
	}
	public void increasHit(){
		hit++;
	}
}
Util class
package com.exam5;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Util {
	public static String getNowDateStr() {
		SimpleDateFormat format = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
		
		Date time = new Date();
				
		return format.format(time);
	}
}

결과 :^ )