Java 게시판 #2일차

김신하·2023년 2월 13일
post-thumbnail

package com.KoreaIT.java.BasicAM;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner; //Ctrl+Shift+O 를 해주면 간편하게 추가됨

public class Main {
public static void main(String[] args) {
System.out.println("==프로그램 시작==");

	Scanner sc = new Scanner(System.in);

	int lastArticleId = 0;

// 마지막articleid의 초기값을 0으로 설정해주는 변수이다.

	List<Article> articles = new ArrayList<>();

// Article리스트를 담을 객체를 생성

	while (true) {

		System.out.printf("명령어 ) ");
		String command = sc.nextLine().trim();

// trim은 앞 뒤 공백을 무시할 수 있도록 해준다.

		if (command.length() == 0) {
			System.out.println("명령어를 입력해주세요");
			continue;
		}

		if (command.equals("system exit")) {
			break;
		}

		if (command.equals("article list")) {
			if (articles.size() == 0) {
				System.out.println("게시글이 없습니다");
				continue;
			}
			System.out.println("번호    /     제목    ");
			String tempTitle = null;
			for (int i = articles.size() - 1; i >= 0; i--) {
				Article article = articles.get(i);
				if (article.title.length() > 4) {
					tempTitle = article.title.substring(0, 4);
					System.out.printf("%d	/	%s\n", article.id, tempTitle + "...");
					continue;
				}

//articles.size()-1을 해주는 이유는 배열에서 위치를 나타낼 때 0부터이기 때문이다.
//Article 객체를 사용하기 위해 get을 사용해 가져와준다.
//여기서 사용된 조건문은 제목이 길 때 길이를 제한하기 위해서 사용한다.

				System.out.printf("%d	/	%s\n", article.id, article.title);
			}
		} else if (command.equals("article write")) {
			int id = lastArticleId + 1;
			System.out.printf("제목 : ");
			String title = sc.nextLine();
			System.out.printf("내용 : ");
			String body = sc.nextLine();

			Article article = new Article(id, title, body);
			articles.add(article);

//while반복문 전에 lastArticleId라는 변수에 0을 대입했었다.
//add를 사용해 Article 객체에 id, title, body라는 변수의 값을 넣어 저장해준다.

			System.out.printf("%d번 글이 생성 되었습니다\n", id);
			lastArticleId++;
		}

		else {
			System.out.println("존재하지 않는 명령어입니다");
		}

	}

	System.out.println("==프로그램 끝==");

	sc.close();
}

}

class Article {

int id;
String title;
String body;

// Article 객체를 사용하기 위해 Article 클래스를 생성
// id, title, body라는 변수를 생성

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

// 매개변수를 사용해 Article에 3개의 변수가 들어가게 해준다.
// this를 사용해 위에 있는 변수를 사용

}

profile
개발자로 취직하고싶다!

0개의 댓글