IT/JAVA
유효성 검사, 예외처리 전 코드
_KH_
2025. 2. 3. 23:57
MVC 패턴 프로젝트 - VIEW 파트
유효성 검사, 예외처리 추가하기 전 코드
1. ClientView
package view;
import java.util.ArrayList;
import model.MemberDTO;
import model.BookDTO;
public class ClientView extends View {
public void printMenuLogin() { // 회원 메뉴 출력
System.out.println("1. 도서관 책 목록 출력");
System.out.println("2. 인기 대출 도서 출력");
System.out.println("3. 책 검색");
System.out.println("4. 장바구니 담기");
System.out.println("5. 장바구니 비우기");
System.out.println("6. 책 대여");
System.out.println("7. 대여중인 책 목록 출력");
System.out.println("8. 책 반납하기");
System.out.println("0. 프로그램 종료");
}
public int inputNum() { // 번호 입력
System.out.print("번호를 입력해주세요 >>");
return sc.nextInt();
}
/* public void printDatas(ArrayList<BookDTO> datas) { // 목록 출력
if(datas == null || datas.size() <= 0 ) {
System.out.println("책이 없습니다!");
return;
}
for(BookDTO book : datas) {
System.out.println(book);
}
} */ // 상위뷰로 이동
public void printPopularList(ArrayList<BookDTO> datas) { // 인기 대출 도서 출력
if(datas == null || datas.isEmpty()) {
System.out.println("아직 데이터가 존재하지 않습니다.");
return;
}
System.out.println("======= 인기 대출 도서 =======");
int rank = 1; // 순위 출력 위한 변수
for(BookDTO book : datas) {
System.out.println(rank + "위 : " + book);
rank++; // 순위 증가
}
}
public String inputBookName() { // 책 이름 검색 안내
System.out.print("찾고 싶은 책 이름을 입력해주세요! >>");
return sc.next();
}
public void printSearchBook(String inputBookName, ArrayList<BookDTO> datas) { // 책 검색 출력
boolean flag = false;
for(BookDTO book : datas) {
if(book.getName().contains(inputBookName)) {
System.out.println(book);
flag = true;
}
}
if(!flag) {
System.out.println("검색 결과가 존재하지 않습니다.");
}
} // 수정
public void addToCart(int resultNum) { // 장바구니 담기 결과 안내
if(resultNum == 0) {
System.out.println("장바구니에 책을 성공적으로 담았습니다!");
} else if(resultNum == 1) {
System.out.println("도서관에 존재하지 않는 책입니다..");
} else if(resultNum == 2) {
System.out.println("다른 사람이 대여중인 책입니다.");
} else if(resultNum == 3) {
System.out.println("현재 도서관에 대여가능한 책이 없습니다.");
}
}
public void borrowFromCart(int resultNum) { // 장바구니 책 대여
if(resultNum == 0) {
System.out.println("책을 성공적으로 대여하였습니다.");
} else if(resultNum == 1) {
System.out.println("책 대여에 실패하였습니다.");
} // 수정
}
public void printReturnBook(int resultNum, MemberDTO datas) { // 책 반납 결과
ArrayList<BookDTO> borrowedBooks = datas.getBookList();
if (resultNum == 0) {
for (BookDTO book : borrowedBooks) {
System.out.println(book.getName() + " 을(를) 반납했습니다."); // 전체 책 반납이니까 for문
} else if(resultNum == 1) {
System.out.println("반납할 책이 없습니다.");
}
}
}// 수정★
public void printCartEmpty() { // 장바구니 비우기 성공 안내
System.out.println("장바구니 목록이 삭제되었습니다.");
}
public void printDatas(MemberDTO datas) { // 대여한 책 목록 출력
ArrayList<BookDTO> borrowedBooks = datas.getBookList();
if(borrowedBooks == null || borrowedBooks.isEmpty()) {
System.out.println("대여한 책이 없습니다!");
return;
}
System.out.println(datas.getId() + "님이 대여한 책 목록");
super.printDatas(borrowedBooks); // 오버로딩
}
public String checkBorrow() { // 대여 확인 문구
System.out.print("진짜 대여하시겠습니까? (YES, NO) >>");
return sc.next();
}
public String checkReturn() { // 반납 확인 문구
System.out.print("진짜 반납하시겠습니까? (YES, NO) >>");
return sc.next();
}
public void printCheckMode() { // 관리자가 회원 모드에서 로그인 시도
System.out.println("회원 모드입니다. 모드를 다시 확인해주세요!");
}
}
2. View(상위 뷰)
package view;
import java.util.Scanner;
import model.MemberDTO;
import model.BookDTO;
public abstract class View {
Scanner sc;
public View() {
sc=new Scanner(System.in);
}
public final void logOut() {
System.out.println("로그아웃 되었습니다.");
}
public final void printEmptyBook() {
System.out.println("책이 없습니다!");
}
public final void printEmptyCart() {
System.out.println("장바구니가 비어있습니다!");
}
public final void requireLogin() {
System.out.println("로그인이 필요한 기능입니다.");
}
public void printDatas(ArrayList<BookDTO> datas) { // 목록 출력
if(datas == null || datas.size() <= 0 ) {
System.out.println("책이 없습니다!");
return;
}
for(BookDTO book : datas) {
System.out.println(book);
}
}
}