on
1027 - 숙제) 게시판 만들기
1027 - 숙제) 게시판 만들기
게시판을 구조채로 만들고 동적할당을 적용시켜서 관리하는 프로그램을 만드세요.
import util.ArrayUtilBoard2; import util.ScannerUtil; import java.util.Scanner; import Struct.Board; // 숙제 : 게시판을 구조채로 만들고 동적할당을 적용시켜서 관리하는 프로그램을 만드세요. public class Ex04Board { public static Scanner scanner = new Scanner(System.in); public static Board[] bb = new Board[0]; public static int nummm = 0; // 메뉴 메서드 public static void menu() { while(true) { String message = "1.게시글 작성 2.게시글 출력 3.종료"; int userChoice = ScannerUtil.nextInt(scanner, message, 1, 3); if(userChoice == 1) { write(); } else if(userChoice == 2) { print(); } else if(userChoice == 3) { System.out.println("게시글을 이용해 주셔서 감사합니다."); System.out.print("\033[H\033[2J"); System.out.flush(); break; } } } // 입력 메서드 public static void write() { Board temp = new Board(); nummm++; temp.number = nummm; String message = "제목을 입력해 주세요."; String title = ScannerUtil.nextLine(scanner, message); temp.title = title; message = "이름을 입력해 주세요."; String name = ScannerUtil.nextLine(scanner, message); temp.name = name; message = "글 내용을 입력해 주세요."; String board = ScannerUtil.nextLine(scanner, message); temp.board = board; bb = ArrayUtilBoard2.add(bb, temp); } // 출력 메서드 public static void print() { if(ArrayUtilBoard2.size(bb)==0) { System.out.println("아직 입력된 게시글이 없습니다."); } else { for(int i=0 ; i
", i+1, bb[i].title); } String message = "상세보기를 원하는 게시글 번호를 입력하세요.(0번 뒤로가기)"; int userChoice = ScannerUtil.nextInt(scanner, message, 0, ArrayUtilBoard2.size(bb)); if(userChoice == 0) { menu(); } else { printBoard(userChoice); } message = "1.수정 2.삭제 3.뒤로가기"; int num = ScannerUtil.nextInt(scanner, message, 1, 3); if(num == 1) { modifyBoard(userChoice); } else if(num == 2) { deleteBoard(userChoice); } else if(num == 3) { print(); } } } // 상세보기 메서드 public static void printBoard(int num) { --num; System.out.println("--------------------------------------"); System.out.printf("글 번호:%d 글 제목:%s 글 이름:%s
", bb[num].number, bb[num].title, bb[num].name); System.out.printf("글 내용:%s
", bb[num].board); System.out.println("--------------------------------------"); } // 수정 public static void modifyBoard(int num) { --num; System.out.println("--------------------------------------"); String message = "새로운 제목을 입력해 주세요."; String title = ScannerUtil.nextLine(scanner, message); bb[num].title = title; message = "새로운 글을 입력해 주세요."; String board = ScannerUtil.nextLine(scanner, message); bb[num].board = board; System.out.println("--------------------------------------"); } // 삭제 public static void deleteBoard(int num) { --num; String message = "정말로 삭제하시겠습니까? Y/N"; String answer = ScannerUtil.nextLine(scanner, message); if(answer.equalsIgnoreCase("y")) { bb = ArrayUtilBoard2.removeByElement(bb, num); } else { menu(); } } public static void main(String[] args) { menu(); } }
1.게시글 작성 2.게시글 출력 3.종료 > 2 아직 입력된 게시글이 없습니다. 1.게시글 작성 2.게시글 출력 3.종료 > 1 제목을 입력해 주세요. > title1 이름을 입력해 주세요. > name1 글 내용을 입력해 주세요. > board1 1.게시글 작성 2.게시글 출력 3.종료 > 2 1. title1 상세보기를 원하는 게시글 번호를 입력하세요.(0번 뒤로가기) > 0 1.게시글 작성 2.게시글 출력 3.종료 > 1 제목을 입력해 주세요. > title2 이름을 입력해 주세요. > name2 글 내용을 입력해 주세요. > board2 1.게시글 작성 2.게시글 출력 3.종료 > 1 제목을 입력해 주세요. > title3 이름을 입력해 주세요. > name3 글 내용을 입력해 주세요. > board3 1.게시글 작성 2.게시글 출력 3.종료 > 2 1. title1 2. title2 3. title3 상세보기를 원하는 게시글 번호를 입력하세요.(0번 뒤로가기) > 2 -------------------------------------- 글 번호:2 글 제목:title2 글 이름:name2 글 내용:board2 -------------------------------------- 1.수정 2.삭제 3.뒤로가기 > 1 -------------------------------------- 새로운 제목을 입력해 주세요. > title22 새로운 글을 입력해 주세요. > board22 -------------------------------------- 1.게시글 작성 2.게시글 출력 3.종료 > 2 1. title1 2. title22 3. title3 상세보기를 원하는 게시글 번호를 입력하세요.(0번 뒤로가기) > 2 -------------------------------------- 글 번호:2 글 제목:title22 글 이름:name2 글 내용:board22 -------------------------------------- 1.수정 2.삭제 3.뒤로가기 > 3 1. title1 2. title22 3. title3 상세보기를 원하는 게시글 번호를 입력하세요.(0번 뒤로가기) > 3 -------------------------------------- 글 번호:3 글 제목:title3 글 이름:name3 글 내용:board3 -------------------------------------- 1.수정 2.삭제 3.뒤로가기 > 2 정말로 삭제하시겠습니까? Y/N > y 1.게시글 작성 2.게시글 출력 3.종료 > 2 1. title1 2. title22 상세보기를 원하는 게시글 번호를 입력하세요.(0번 뒤로가기) > 0 1.게시글 작성 2.게시글 출력 3.종료 > 3 게시글을 이용해 주셔서 감사합니다.
from http://helloenavy.tistory.com/97 by ccl(A) rewrite - 2021-10-28 16:27:44