반응형
아~~~ 오류있다~~~
package studyGroup.june.two;
public class BoardApplication {
public static void main(String[] args) {
BoardService boardService = new BoardServiceImpl();
boardService.init();
}
}
package studyGroup.june.two;
public class Board {
private int boardId;
private String title;
private String contents;
private Member member;
public int getBoardId() {
return boardId;
}
public void setBoardId(int boardId) {
this.boardId = boardId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContents() {
return contents;
}
public void setContents(String contents) {
this.contents = contents;
}
public Member getMember() {
return member;
}
public void setMember(Member member) {
this.member = member;
}
@Override
public String toString() {
return "Board{" +
"boardId=" + boardId +
", title='" + title + '\'' +
", contents='" + contents + '\'' +
", member=" + member +
'}';
}
}
package studyGroup.june.two;
public class Member {
private int memberId;
private String userName;
private String password;
public int getMemberId() {
return memberId;
}
public void setMemberId(int memberId) {
this.memberId = memberId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Member{" +
"memberId=" + memberId +
", userName='" + userName + '\'' +
", password='" + password + '\'' +
'}';
}
}
package studyGroup.june.two;
public interface BoardService {
void init();
void createMember();
void createBoardByMemberNo();
void selectBoardByMemberNo();
void deleteBoardByMemberNo();
}
package studyGroup.june.two;
import java.io.IOException;
import java.util.HashMap;
import java.util.InputMismatchException;
import java.util.Map;
import java.util.Scanner;
/*
- int 값에 숫자가 아닌 문자를 넣었을시 예외처리
*/
public class BoardServiceImpl implements BoardService {
Map<Integer, Board> map = new HashMap<>();
Scanner scanner = new Scanner(System.in);
int mId = 0;
int bId = 0;
@Override
public void init() {
try {
while (true) {
System.out.println("== 메뉴 ==");
System.out.println("1. 맴버 가입");
System.out.println("2. 맴버 아이디로 게시판 글쓰기");
System.out.println("3. 맴버 아이디로 게시글 조회");
System.out.println("4. 게시판 삭제");
System.out.println("5. 종료");
System.out.println("==========");
int input = scanner.nextInt();
switch (input) {
case 1:
createMember();
break;
case 2:
createBoardByMemberNo();
break;
case 3:
selectBoardByMemberNo();
break;
case 4:
deleteBoardByMemberNo();
break;
case 5:
quit();
break;
}
}
} catch (InputMismatchException e) {
System.out.println("숫자가 아니자나~!");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
@Override
public void createMember() {
Board board = new Board();
Member member = new Member();
System.out.println("== 가입 ==");
System.out.println("user name 을 입력하세요.");
member.setUserName(scanner.next());
System.out.println("password 를 입력하세여.");
member.setPassword(scanner.next());
member.setMemberId(mId);
board.setMember(member);
System.out.println(member);
map.put(mId, board);
mId++;
}
// - 맴버 아이디 별로 게시글 작성하기
@Override
public void createBoardByMemberNo() throws InputMismatchException {
System.out.println("== 게시글 입력하기 ==");
System.out.println("맴버 아이디를 입력해주세요.");
int input = scanner.nextInt();
map.forEach((key, value) -> {
if (map.get(key).getMember().getMemberId() == input) {
System.out.println(map.get(key).getMember().getUserName() + "님 글을 입력해 주세요.");
System.out.println("글 제목을 입력해주세요.");
map.get(key).setTitle(scanner.next());
System.out.println("글 내용을 입력해주세요.");
map.get(key).setContents(scanner.next());
map.get(key).setBoardId(bId);
System.out.println(map.get(key).toString());
bId++;
} else {
System.out.println("없는 사용자 입니다.");
throw new NullPointerException();
}
});
}
// - memberId로 게시글을 조회 했을시 없는 사용자일때 예외로 던지고 예외처리
@Override
public void selectBoardByMemberNo() throws InputMismatchException {
System.out.println("== 게시글 조회하기 ==");
System.out.println("맴버 아이디를 입력해주세요.");
int input = scanner.nextInt();
map.forEach((key, value) -> {
if (map.get(key).getMember().getMemberId() == input) {
System.out.println(map.get(key));
} else {
System.out.println("없는 사용자 입니다.");
throw new NullPointerException();
}
});
}
// - 삭제시 userName과 password 확인 후 삭제
@Override
public void deleteBoardByMemberNo() throws InputMismatchException {
try {
System.out.println("삭제하실 board id를 입력해주세요.");
int input = scanner.nextInt();
map.forEach((key, value) -> {
if (map.get(key).getBoardId() == input) {
System.out.println("user name를 입력해주세요.");
String userName = scanner.next();
if (map.get(key).getMember().getUserName().equals(userName)) {
System.out.println("password를 입력해 주세요.");
String password = scanner.next();
if (map.get(key).getMember().getPassword().equals(password)) {
System.out.println("로그인 되었습니다.");
map.remove(key);
System.out.println("게시글을 삭제합니다.");
}
}
}
});
} catch (Exception e) {
}
}
public void quit() throws IOException {
System.out.println("종료합니다.");
System.out.close();
}
}
반응형
'Study > JAVA' 카테고리의 다른 글
[20210614] 자바 기초 코딩 실습 (0) | 2021.06.14 |
---|---|
[20210613] JAVA 스터디 (0) | 2021.06.13 |
[20210606] 자바 기초 코딩 실습 (0) | 2021.06.11 |
[20210606] JAVA 스터디 (0) | 2021.06.06 |
[20210530] JAVA 스터디 (0) | 2021.05.30 |
댓글