IT/JAVA

MVC 프로젝트 - 도서관 프로그램(VIEW 코드)

_KH_ 2025. 2. 11. 01:13

이번 MVC 프로젝트에서는 VIEW 파트를 맡았다.

근데 생각보다 쉽지 않았고, 설계가 튼튼해야 VIEW 메서드 시그니쳐 설정할 때 수월하다는 걸 느꼈다..

 

1. View

package view;

import java.util.ArrayList;
import java.util.Scanner;

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 printRequireLogin() {
		System.out.println("로그인 후 이용하실 수 있는 기능입니다.");
	}

	public void printDatas(ArrayList<BookDTO> datas) { // 목록 출력
//		if(datas == null || datas.isEmpty() ) {
//			System.out.println("책이 없습니다!");
//			return;
//		} // 하위뷰에서 각자 추가
		
		for(BookDTO book : datas) {
			if(book != null) {
				System.out.println(book);
			} else { // 추가
				System.out.println("비어있습니다.");
			} 
		}
	}
	
	public void printLogout() {
		System.out.println("로그아웃되었습니다.");
	}
	
	public void printAdminContact() {
		System.out.println("관리자에게 문의하세요!");
	}
	
	public String inputCheck(String msg) { 
	    while (true) {
	//    	String msg = null;
	        System.out.print(msg + " (YES, NO) >> ");
	        String input = sc.nextLine().trim().toUpperCase();

	        if (input.equals("YES") || input.equals("NO")) {
	            return input;
	        }
	        System.out.println("올바르게 입력해주세요! (YES, NO로 입력)");
	    }
	}
 }

 

 

2. NonLoginView

package view;

import java.util.InputMismatchException;

public class NonLoginView extends View {


	public void printMenuNonlogin() {
		System.out.println("===비로그인메뉴===");
		System.out.println("1.회원가입");
		System.out.println("2.회원 로그인");
		System.out.println("3.관리자 로그인");
		System.out.println("0.프로그램 종료");
	}
	public int inputMenuNum() {
		while(true) {
			try {
				System.out.print("번호를 입력해주세요>> ");
				int num = sc.nextInt();
				sc.nextLine(); // 위치변경. 정수 입력 후 \n를 없애기 위해서
				if(num >= 0 && num <= 3) {
					return num; 
				} else {
					System.out.println("0부터 3 사이의 숫자만 입력해주세요.");
				}
			} catch (InputMismatchException e) {
				System.out.println("[로그] : NonLoginView - inputMenuNum에서 발생한 예외. 올바른 입력 필요");
				sc.nextLine();
			}
		}
	}

	public void printJoinStart() {
		System.out.println("★회원가입을 진행하겠습니다★");
	}

	public String inputJoinID() {
		while(true) {
			System.out.print("회원가입할 아이디를 입력해주세요>> ");

			String input = sc.nextLine(); 

			if(input.contains(" ")) {
				System.out.println("띄어쓰기가 불가능합니다. 공백없이 입력해주세요.");
				continue;
			}

			if(input.isEmpty()) {
				System.out.println("아무것도 입력하지 않았습니다. 다시 입력해주세요.");
				continue;
			}
			return input;
		}
	}

	public String inputJoinPW() {
		while(true) {
			System.out.print("회원가입할 비밀번호를 입력해주세요>> ");
			String input = sc.nextLine();

			if(input.contains(" ")) {
				System.out.println("띄어쓰기가 불가능합니다. 공백없이 입력해주세요.");
				continue;
			}

			if(input.isEmpty()) {
				System.out.println("아무것도 입력하지 않았습니다. 다시 입력해주세요.");
				continue;
			}
			return input;
		}

	}

	public void printCheckID(int resultNum) { //ID 중복검사 출력
		if(resultNum==0) {//id가 중복이 아니라면
			System.out.println("고유한 ID입니다. ");
		}
		else if(resultNum==1) {//id가 중복이라면
			System.out.println("이미 존재하는 ID입니다");
		} else {
			System.out.println("[로그] : NonLoginView - 잘못된 Conrtoller 에러 코드 : " + resultNum);
		}
	}
	
	public void printJoinResult(String ID) {//오버로딩
		System.out.println("[로그]nonLogInView- 컨트롤러 아이디확인"+ID);
		if(ID!=null) {
			System.out.println(ID+"님 회원이 되신것을 환영합니다☆");
		}
		else {
			System.out.println("관리자에게 문의해주세요");
		}
	}

	public void printJoinResult(int resultNum) { //오버로딩
		if(resultNum==1) {
			System.out.println("회원가입을 다시 시도해주세요");
		} else {
			System.out.println("[로그] : NonLoginView - 잘못된 Conrtoller 에러 코드 : " + resultNum);
		}
	}

	public String inputMemberID() {
		while(true) {
			System.out.print("아이디를 입력해주세요>>");
			String input = sc.nextLine();

			if(input.contains(" ")) {
				System.out.println("띄어쓰기가 불가능합니다. 공백없이 입력해주세요.");
				continue;
			}

			if(input.isEmpty()) {
				System.out.println("아무것도 입력하지 않았습니다. 다시 입력해주세요.");
			}
			return input;
		}
	}

	public String inputMemberPW() {
		while(true) {
			System.out.print("비밀번호를 입력해주세요>>");
			String input = sc.nextLine();

			if(input.contains(" ")) {
				System.out.println("띄어쓰기가 불가능합니다. 공백없이 입력해주세요.");
				continue;
			}

			if(input.isEmpty()) {
				System.out.println("아무것도 입력하지 않았습니다. 다시 입력해주세요.");
				continue;
			}
			return input;
		}
	}

	public void printLogInStart() {
		System.out.println("★회원 로그인을 시작하겠습니다 ★");
	}

	public void printLogInResult(String ID) {//오버로딩
		//로그찍기 컨트롤러에서 보낸 자판기번호가
		System.out.println("[로그] NonLoginView-컨트롤러 아이디확인"+ID); 				
		if(ID!=null) { //
		System.out.println(ID + "님 로그인을 성공하셨습니다");
				}
		
	/*System.out.println();//아이디를 한곳에서만 사용*/
		else  {//id가 널이라면
		System.out.println("관리자에게 문의해주세요");
	  }
	}

	public void printLogInResult(int resultNum) {//자판기 번호

		/*boolean isVaildID = (ID == null || ID.trim().isEmpty());
		//		if(ID == null || ID.trim().isEmpty()) {
		//			System.out.println("[로그] NonLoginView - ID가 null 또는 빈 문자열임.");
		//		}*/
		if(resultNum==1) {
			System.out.println("아이디를 잘못 입력하셨습니다");
		}
		else if(resultNum==2) {
			System.out.println("비밀번호를 잘못 입력하셨습니다");
		}
		else if(resultNum==3) {
			System.out.println("회원로그인 창입니다.계정을 확인해주세요");//관리자가 회원로그인할 때
		}
		else if(resultNum==4) {
			System.out.println("관리자 로그인 창입니다.계정을 확인해주세요");//회원이 관리자로그인시도할 때
		}
		else {
			System.out.println("[로그] : NonLoginView - 잘못된 Conrtoller 에러 코드 : " + resultNum);
		}
	} 
	
	/*public void printLogInResult(int resultNum,String ID) {

		boolean isVaildID = (ID == null || ID.trim().isEmpty());
		//		if(ID == null || ID.trim().isEmpty()) {
		//			System.out.println("[로그] NonLoginView - ID가 null 또는 빈 문자열임.");
		//		}

		if(resultNum==0) {
			if(isVaildID) {
				System.out.println("[로그] NonLoginView - 유효하지 않은 ID값. ID가 NULL이거나 빈 문자열."); // "null님 로그인 성공" 출력을 막기 위함
			} else {
				System.out.println(ID + "님 로그인을 성공하셨습니다");
			}
		}
		else if(resultNum==1) {
			System.out.println("아이디를 잘못 입력하셨습니다");
		}
		else if(resultNum==2) {
			System.out.println("비밀번호를 잘못 입력하셨습니다");
		}
		else if(resultNum==3) {
			System.out.println("회원로그인 창입니다.계정을 확인해주세요");//관리자가 회원로그인할 때
		}
		else if(resultNum==4) {
			System.out.println("관리자 로그인 창입니다.계정을 확인해주세요");//회원이 관리자로그인시도할 때
		}
		else {
			System.out.println("[로그] : NonLoginView - 잘못된 Conrtoller 에러 코드 : " + resultNum);
		}
	} */


	public String inputLoginAdminID() {
		while(true) {
			System.out.print("관리자 아이디를 입력해주세요>>");
			String input = sc.nextLine();

			if(input.contains(" ")) {
				System.out.println("띄어쓰기가 불가능합니다. 공백없이 입력해주세요.");
				continue;
			}

			if(input.isEmpty()) {
				System.out.println("아무것도 입력하지 않았습니다. 다시 입력해주세요.");
			}
			return input;
		}
	}

	public String inputLoginAdminPW() {
		while(true) {
			System.out.print("관리자 비밀번호를 입력해주세요>>");
			String input = sc.nextLine();

			if(input.contains(" ")) {
				System.out.println("띄어쓰기가 불가능합니다. 공백없이 입력해주세요.");
				continue;
			}

			if(input.isEmpty()) {
				System.out.println("아무것도 입력하지 않았습니다. 다시 입력해주세요.");
				continue;
			}
			return input;
		}
	}

	public void printLoginAdminStart() {
		System.out.println("★관리자 로그인을 시작하겠습니다★");
	}
	
	public void LoginAdmin(int resultNum) { //유효성검사
		if(resultNum==0) {
			System.out.println("관리자님 로그인을 성공하셨습니다");
		}
		else if(resultNum==1) {
			System.out.println("로그인을 다시 시도해주세요");
		} else {
			System.out.println("[로그] : NonLoginView - 잘못된 Conrtoller 에러 코드 : " + resultNum);
		}

	}
	public void printShutdown() { //나중에스레드
		for(int i = 0; i < 5; i++) {
			System.out.print(".");
			try {
				Thread.sleep(500);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		System.out.println(" 프로그램을 종료합니다");
	}
}

 

3. ClientView

package view;

import java.util.ArrayList;
import java.util.InputMismatchException;

import model.BookDTO;

public class ClientView extends View {
	private final static int MENU = 8;

	public void printMenuLogin() { // 회원 메뉴 출력
		System.out.println("0. 로그아웃");
		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. 책 반납하기");

	}

	public int inputNum() { // 번호 입력
		int num;
		while(true) {
			try {
				
				System.out.print("번호를 입력해주세요(0-8) >>");
				num = sc.nextInt();
				if (sc.hasNextLine()) { 
					sc.nextLine(); // 남아있는 \n 입력 버퍼 지움
					// 책 반납 성공 후 메뉴 입력에서 입력 버퍼 지워지지 않아 무한 루프 발생하는 오류 발생
				}

			//	sc.nextLine();// 추가. 번호 입력 후 /n이 남아서 메뉴 선택 시 입력할 수 없는 에러 발생

				if(num >= 0 && num <=MENU) { // 0부터 8 사이로 입력하면 입력값 반환
					return num; 
				} else {
					System.out.println("0부터 " + MENU + " 사이의 숫자만 입력해주세요."); // 0-8 외 숫자 입력
				}
			} catch (InputMismatchException e) { // 정수가 아닌 경우
				System.out.println("[로그] : ClientView - inputNum에서 올바르지 않은 입력 발생 ");
				sc.nextLine(); // 입력 버퍼 지우기 ★ 엔터 삭제
			} 
		}
	} // 숫자 외 다른 입력이 들어올 경우, 버퍼 비우기


	/*	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("아직 데이터가 존재하지 않습니다.");
			System.out.println("[로그] : ClientView - printPopularList에 들어온 bookDTO에 인기 대출 순위 정보가 없음.");
			return;
		}
		System.out.println("======= 인기 대출 도서 =======");
		int rank = 1; // 순위 출력 위한 변수

		for(BookDTO book : datas) {
			if(book != null) {
				System.out.println(rank + "위 : " + book);
				rank++; // 순위 증가	
			}
		} 
	} // NullPointerException 예외는 57라인으로 유효성 검사

	public String inputBookName() { // 책 이름 검색 안내
		while(true) {
			try {
				System.out.print("찾고 싶은 책 이름을 입력해주세요! >>");
				String input =sc.nextLine(); // 한 단어만 가져오는 next()대신 nextLine()으로 문자열 전체 받아옴

				if(input != null && !input.trim().isEmpty()) { // 공백 막기
					return input;
				}
				System.out.println("올바르게 입력해주세요!");
				System.out.println("[로그] ClientView - 입력값이 없거나 공백임.");
			}
			catch(Exception e) {
				System.out.println("[로그] : ClientView - inputBookName 메서드에서 발생한 예외. 올바른 입력 필요");
				//	sc.nextLine(); // 다음 입력 위해 버퍼 비우기
			}
		}
	} // 공백 유효성 검사 추가, 예외 처리

	public void printSearchBook(String inputBookName, ArrayList<BookDTO> bookdto) { // 책 검색 출력

		if(bookdto == null || bookdto.isEmpty() ) {
			System.out.println("도서관에 책이 없습니다.");
			System.out.println("[로그] : ClientView - 들어온 bookDTO가 null임");
			return;
		} // 도서관에 등록된 책이 없는 경우

		if(inputBookName == null) {
			//System.out.println("책 제목을 올바르게 입력해주세요.");
			System.out.println("[로그] ClientView - Controller에서 받아온 inputBookName : " + inputBookName);
			return;
		}

		boolean flag = false;

		for(BookDTO book : bookdto) {
			if(book != null && book.getBookName() != null && book.getBookName().contains(inputBookName)) {
				System.out.println(book);
				flag = true;
			}
		}

		if(!flag) {
			System.out.println("검색 결과가 존재하지 않습니다.");
		}
	} // 들어오는 데이터들이 null값인 경우 모두 처리. datas, inputBookName, book.getName()..

	public void printSearchBook(String inputBookName) { // 이름만 받아서 오버로딩
	    if (inputBookName == null || inputBookName.trim().isEmpty()) {
	        System.out.println("올바르게 입력해주세요.");
	        return;
	    }
	    System.out.println("[로그] ClientView - printSearchBook 검색 값 : " + inputBookName);
	}
	
	public void printAddToCart(int resultNum) { // 장바구니 담기 결과 안내
		// 얘도 resultNum이 null값일 때 추가
		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("같은 책을 중복으로 대여할 수 없습니다.");
		} else {
			System.out.println("[로그] : ClientView - addToCart에 잘못된 Conrtoller 에러 코드.");
		}
	} // C에서 넘어오는 에러 번호 유효성 검사 추가

	public void printBorrowFromCart(int resultNum) { // 장바구니 책 대여 
		if(resultNum == 0) {
			System.out.println("책을 성공적으로 대여하였습니다.");
		} else if(resultNum == 1) {
			System.out.println("책 대여에 실패하였습니다.");
		} else {
			System.out.println("[로그] : ClientView - borroFromCart에 잘못된 Conrtoller 에러 코드.");
		}
	} // C에서 넘어오는 에러 번호 유효성 검사 추가

//	public void printReturnBook(int resultNum, ArrayList<String> returnBookDatas ) { // 책 반납 결과
//		//		if(bookdto == null) {
//		//			System.out.println("회원 정보가 없습니다.");
//		//			return; // NullPointerException 방지
//		//		}
//
//		//ArrayList<BookDTO> borrowedBooks = memberdto.getBookList();
//
//		System.out.println("[로그] : ClientView - Controller에서 받아온 bookList: " + returnBookDatas); // 로그 찍어서 확인
//	
//		if (resultNum == 0) {
//			for (String bookName : returnBookDatas) { 
//				System.out.println(bookName + " 을(를) 반납했습니다."); // 전체 책 반납이니까 for문
//			} 
//		} else if(resultNum == 1) {
//			System.out.println("반납할 책이 없습니다.");
//		} else {
//			System.out.println("[로그] : ClientView - printReturnBook에 잘못된 Conrtoller 에러 코드.");
//		}
//	}  // dto가 null인 경우, book이 null인 경우, book.getName()이 null인 경우, 에러 코드가 잘못 들어온 경우, borrowedBooks가 null인 경우..

	 public void printReturnBook(int resultNum) { // 반납할 책이 없을 경우 오버로딩 
		    if (resultNum == 0) {
		        System.out.println("책 반납이 완료되었습니다.");
		    } else if (resultNum == 1) {
		        System.out.println("반납할 책이 없습니다.");
		    } else {
		        System.out.println("[로그] : ClientView - printReturnBook에 잘못된 Controller 에러 코드 : " + resultNum );
		    }
		}
	 
	 public void printReturnBook(ArrayList<String> returnBookDatas) { // 반납할 책 목록만 입력받아 오버로딩. 책 여러권 반납했을 경우
		    if (returnBookDatas == null || returnBookDatas.isEmpty()) {
		        System.out.println("반납할 책이 없습니다.");
		        return;
		    }

		    System.out.println("반납한 책 목록 : ");
		    for (String bookName : returnBookDatas) { 
		        System.out.println(bookName);
		    }
		}
	 
	 public void printReturnBook(String bookName) { // 책 한권만 반납했을 경우 오버로딩
		    System.out.println("반납한 책: " + bookName);
		}
	 
	// public void printReturnBook(ArrayList<String> returnBookDatas)
	
	public void printEmptyCartSuccess() { // 장바구니 비우기 성공 안내
		System.out.println("장바구니 목록이 삭제되었습니다.");
	}

	public void printBorrowedBooks(ArrayList<BookDTO> bookdto) { // 대여한 책 목록 출력 ★★★

		if(bookdto == null || bookdto.isEmpty()) {
			System.out.println("[로그] : ClientView - 들어온 myBookList가 없음.");
			return;
		}
		//		if(id != null) {
		//			System.out.println(id + "님이 대여한 책 목록");
		//		} else {
		//			System.out.println("알 수 없는 사용자 님이 대여한 책 목록");
		//		}
		System.out.println("대여한 책 목록");
		printDatas(bookdto); // 상위뷰(View)에서 목록 출력 가져다 씀
	} 

	public void printNotBorrowBook() {
		System.out.println("대여한 책이 없습니다!");
	}

//	public String inputCheckBorrow() { // 대여 확인 문구
//		while(true) {
//			System.out.print("진짜 대여하시겠습니까? (YES, NO) >>"); 
//			//input = sc.next(); // 공백 처리, 대소문자 변환은 다른 곳에서..
//			String input = sc.nextLine().trim().toUpperCase(); // 뷰에서 해서 보내주기로
//			// YES, NO, yes, no
//			if (input.equals("YES") || input.equals("NO")) {
//				return input;
//			}
//			System.out.println("올바르게 입력해주세요! (YES, NO로 입력)");
//		}
//	}

//	public String inputCheckReturn() { // 반납 확인 문구
//		while(true) {
//			System.out.print("진짜 반납하시겠습니까? (YES, NO) >>"); 
//			//input = sc.next(); // 공백 처리, 대소문자 변환은 다른 곳에서22
//			String input = sc.nextLine().trim().toUpperCase(); // 뷰에서 해서 보내주기로
//
//			if (input.equals("YES") || input.equals("NO")) {
//				return input;
//			}
//			System.out.println("올바르게 입력해주세요! (YES, NO로 입력)");
//		}
//	}
	
	public String inputCheckBorrow() {
		return inputCheck("진짜 대여하시겠습니까?");
	} // 상위뷰에서 가져옴
	
	public String inputCheckReturn() {
		//String msg= "진짜 반납하시겠습니까?";
		return inputCheck("진짜 반납하시겠습니까?");
	} // 상위뷰에서 가져옴
	
	

	public void printCheckMode() { // 관리자가 회원 모드에서 로그인 시도
		System.out.println("회원 모드입니다. 모드를 다시 확인해주세요!");
	}

	public void printcartList(ArrayList<BookDTO> bookdto) { // 장바구니 목록 출력
		if(bookdto == null || bookdto.isEmpty()) {
			System.out.println("장바구니에 담겨있는 책이 없습니다.");
			return;// 메서드마다 각각 추가(출력문 다르므로)
		}
		System.out.println("======= 장바구니 목록 =======");
		printDatas(bookdto); // 상위뷰(View)에서 목록 출력 가져다 씀
	}
}

 

4. AdminView

package view;

import java.util.ArrayList;
import java.util.InputMismatchException;

import model.MemberDTO;


public class AdminView extends View {

	private static final int MENU=4;// 메뉴사이즈 상수화

	public void printMenuAdmin() {

		System.out.println("===관리자메뉴===");
		System.out.println("1.책 전체출력");
		System.out.println("2.책 등록");
		System.out.println("3.책 삭제");
		System.out.println("4.회원 삭제");
		System.out.println("0.로그아웃");//상위뷰
	}
	public int inputMenuAdmin() {
		while(true) {
			try {
				System.out.print("번호를 입력해주세요 >>");
				int num = sc.nextInt(); // num을 로컬변수로 받음
			 
					sc.nextLine();
			
				if (num >= 0 && num <=MENU) {
					return num;
				} else {
					System.out.println("0부터"+MENU+"사이의 메뉴숫자만 입력해주세요");
				} 
			} catch (InputMismatchException e) {
				System.out.println("[로그]:AdminView- inputMenuAdmin에서 발생한 예외. 올바른 입력필요");
				sc.nextLine();
			}
		}
	}

	public String inputBookTitle() {
		while(true) {
			System.out.print("책 제목을 입력해주세요>>");

			String input=sc.nextLine();//넥스트를 안쓰고 넥스트라인;;

			if(input.isEmpty()) {//공백일 때
				System.out.println("아무것도 입력하지 않았습니다. 다시 입력해주세요");
				continue;
			}
			return input;
		}
	}

	public String inputBookAuthor() {
		while(true) {
			System.out.print("책 저자를 입력해주세요>>");

			String input=sc.nextLine();//공백인정

			if(input.isEmpty()) {
				System.out.println("아무것도 입력하지 않았습니다. 다시 입력해주세요");
				continue;
			}
			return input;
		}
	}

	public void printRegisterBookResult(int resultNum) {//컨트롤러에서 받은 숫자
		if(resultNum==0) {//0은 성공;1은 실패;
			System.out.println("책 등록에 성공했습니다");
		} 
		else if(resultNum==1) {
			System.out.println("이미 도서관에 등록되어 있는 책입니다");//제목저자둘다중복될경우
		}
		else {
			System.out.println("[로그] : AdminView - 잘못된 Conrtoller 에러 코드 : " + resultNum);

		}
	}

	public int inputDeleteBook() {//번호로 받기
		while(true) {//공백만 처리;;
			System.out.print("어떤 책을 삭제하시겠습니까? >>");

			try {
				String input=sc.nextLine().trim(); //공백을 검사하기 위해서 문자열로 입력
				if(input.trim().isEmpty()) {
					System.out.println("아무것도 입력되지 않았습니다.다시 입력해주세요");
					continue;
				}
				int num=Integer.parseInt(input);//문자열을 숫자로 변화
				return num;

			} catch (NumberFormatException e) {
				System.out.println("숫자만 입력해주세요");
				System.out.println("[로그]Adminview-inputDeleteBook");
				sc.nextLine(); // 남은 문자 처리
			}
		}
	}
	
	public String inputCheckDeleteBook() { //상위뷰에서 가져옴
		return inputCheck("진짜 이 책을 삭제하시겠습니까?");

	}
	public void printDeleteBook(String BookName) {//오버로딩
		System.out.println("[로그]AdminView-컨트롤러 책제목 확인"+BookName);
		if(BookName!=null) {
			System.out.println(BookName + " 이(가) 삭제되었습니다");
		}
		else {
			System.out.println("관리자에게 문의해주세요");
		}
	}

	public void printDeleteBook(int resultNum) {//오버로딩
		if(resultNum==1) {
			System.out.println("책이 삭제되지 않았습니다");
		}
		else {
			System.out.println("[로그]Adminview-컨트롤러오류코드확인");
		}
	}
	
	public void printMember(ArrayList<MemberDTO> datas) {//2월 3일 추가
		for(MemberDTO member: datas) {
			System.out.println(member);//회원전체출력
		}
	}												

	public int inputDeleteMember() { //번호로 받기
		while(true) {
			System.out.print("어떤 회원을 삭제하시겠습니까? >>");
			try {//input int=sc.next();
				String input=sc.nextLine().trim(); //공백을 검사하기 위해서 문자열로 입력
				if(input.trim().isEmpty()) {
					System.out.println("아무것도 입력되지 않았습니다.다시 입력해주세요");
					continue;
				}
				int num=Integer.parseInt(input);//문자열을 숫자로 변환
				return num;

			} catch (NumberFormatException e) {
				System.out.println("올바른 숫자만 입력해주세요");
				System.out.println("[로그]Adminview-inputDeleteBook");
				//sc.nextLine();//버퍼비우기//next는 스페이스바 엔터 공백을 제외한 문자만 
				              //nextline은 공백만(엔터까지 입력)
			}
		}
	}
	public String inputCheckDeleteMember() {
		return inputCheck("진짜 이 회원을 삭제하시겠습니까?");

	}

	public void printDeleteMember(String ID) { //오버로딩
		System.out.println("[로그]AdminView- 컨트롤러 아이디 확인"+ID);
		if(ID!=null) {
			System.out.println(ID+"님을 삭제하였습니다");
		}
		else {
			System.out.println("관리자에게 문의하세요");
		}
	}

	public void printDeleteMember(int resultNum) {//오버로딩

		if(resultNum==1) {
			System.out.println("삭제를 실패하였습니다");
		}
		else if(resultNum==2) {
			System.out.println("삭제할 회원이 도서관 책을 대여중입니다");
		}
		else {
			System.out.println("[로그]:AdminView-컨트롤러 오류코드확인");
		} 
	}

//	public void printDeleteMember(int resultNum, String ID) {
//		System.out.println("[로그]AdminView- 컨트롤러 아이디 확인"+ID);
//		if(resultNum == 0) {
//			System.out.println(ID+"님을 삭제하였습니다");
//		} else if (resultNum==1) {
//			System.out.println("삭제를 실패하였습니다");
//		} else if(resultNum==2) {
//			System.out.println("삭제할 회원이 도서관 책을 대여중입니다");
//		} else {
//			System.out.println("[로그]:AdminView-컨트롤러 오류코드확인");
//		}
//	}

	public void printRegisterStartBook() {
		System.out.println("☆책 등록을 시작합니다☆");
	}
	public void printDeleteBookStart() {
		System.out.println("☆책 삭제를 시작합니다☆");
	}
	public void printDeleteMemberStart() {
		System.out.println("☆회원삭제를 시작합니다☆");
	}
	public void printDeleteMemberNotFound() { //2월 3일 
		System.out.println("삭제할 회원이 존재하지 않습니다");

	}

	public void printNeverDeleteAdminAccount() {
		System.out.println("관리자 계정은 삭제가 불가능합니다."); //2월 3일
	}
}

'IT > JAVA' 카테고리의 다른 글

능력단위평가 - 자바 총 정리 테스트 오답노트  (0) 2025.02.17
생성자  (0) 2025.02.17
자바 복습  (0) 2025.02.11
크롤링 + MVC 패턴  (0) 2025.02.10
웹 크롤링  (0) 2025.02.10