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);
}
}