From 2fb539ec184cbf720533a74c23c320894b181c7f Mon Sep 17 00:00:00 2001 From: hsm Date: Tue, 18 Jun 2024 01:45:09 +0900 Subject: [PATCH 1/8] =?UTF-8?q?feat=20:=20=EC=9D=B4=EC=9A=A9=EC=9E=90=20?= =?UTF-8?q?=ED=81=B4=EB=9E=98=EC=8A=A4=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 이용자의 이름을 받고, 이용자가 대출과 반납을 하기 위해 만들었고 이용자가 대출한 책도 조회함 --- src/Book.java | 49 +++++++++++++++++++++++++++++++++++++++ src/User.java | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 src/Book.java create mode 100644 src/User.java diff --git a/src/Book.java b/src/Book.java new file mode 100644 index 0000000..aa676de --- /dev/null +++ b/src/Book.java @@ -0,0 +1,49 @@ + +public class Book { + private String bookname; + private String author; + private String isbn; + private int total_books; + private int availablebooks; + + public void setBook(String bookname, String author, String isbn, int total_Books,boolean loan) { + this.bookname = bookname; + this.author = author; + this.isbn = isbn; + this.total_books = total_Books; + this.availablebooks = total_Books; + } + public String getBookname() { + return bookname; + } + public String getAuthor() { + return author; + } + public String getIsbn() { + return isbn; + } + public int getTotal_books() { + return total_books; + } + public int getAvailablebooks() { + return availablebooks; + } + public void addBook(int count) { + this.total_books += count; + this.availablebooks += count; + } + public boolean borrowBook() { + if(availablebooks > 0) { + availablebooks--; + return true; + } + return false; + } + public boolean returnBook() { + if(availablebooks < total_books) { + availablebooks++; + return true; + } + return false; + } +} \ No newline at end of file diff --git a/src/User.java b/src/User.java new file mode 100644 index 0000000..37490bf --- /dev/null +++ b/src/User.java @@ -0,0 +1,64 @@ + +public class User { + private String name; + private Book borrow_book = null; + private Book borrow_book2 = null; + + //도서관 이용자 이름을 받음 + public User(String name) { + this.name = name; + } + + //이용자 이름을 반환 + public String getName() { + return name; + } + + //대출 여부를 판단, 빌릴 수 있으면 borrow_book이나 borrow_book2에 저장 + //책을 2개 초과로 대출하려 할 시 메세지 출력, 다른 사람이 대출 중인 책을 대출하려해도 메세지 출력 + public boolean borrowBook(Book book) { // 책 대출 + if (borrow_book != null && borrow_book2 != null) { + System.out.println("책은 최대 두 권까지만 대출할 수 있습니다."); + return false; + } + if(book.borrowBook()) { + if(borrow_book == null) borrow_book = book; + else if(borrow_book2 == null) borrow_book2 = book; + return true; + } + else { + System.out.println("다른 사람이 대출 중인 책은 대출할 수 없습니다."); + return false; + } + } + + //책 반납하는 코드 + //borrow_book,borrow_book2에 책이 있다면 null이 되고 Book 클래스에 책 반납 코드가 실행됨(반납했으므로 대출 가능한 책 수가 늘어남) + //borrow_book,borrow_book2에 없는 책을 반납하려 하면 대출하지 않은 책은 반납할 수 없습니다.라는 메세지가 출력 + public boolean returnBook(Book book) { + if (borrow_book == book) { + borrow_book = null; + book.returnBook(); + return true; + } + else if(borrow_book2 == book) { + borrow_book2 = null; + book.returnBook(); + return true; + } + else { + System.out.println("대출하지 않은 책은 반납할 수 없습니다."); + return false; + } + } + + //이용자가 대출한 책을 조회 + public void printBorrowBook() { + if (borrow_book != null) { + System.out.println(name + ":" + borrow_book.getBookname()); + } + if (borrow_book2 != null) { + System.out.println(name + ":" + borrow_book2.getBookname()); + } + } +} \ No newline at end of file From d562781413db372519ab342855fc88a8d5e70d0c Mon Sep 17 00:00:00 2001 From: hsm Date: Tue, 18 Jun 2024 01:59:34 +0900 Subject: [PATCH 2/8] =?UTF-8?q?feat=20:=20=EB=8F=84=EC=84=9C=EA=B4=80=20?= =?UTF-8?q?=ED=81=B4=EB=9E=98=EC=8A=A4=20=EC=83=9D=EC=84=B1,=20=EC=B1=85?= =?UTF-8?q?=20=ED=81=B4=EB=9E=98=EC=8A=A4=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 책이 들어있어야 할 도서관 클래스를 만들었다. 도서관의 이름도 입력받고 책 제목으로 해당하는 책을 찾고 도서관에 있는 책을 조회하기 위해 만들었다. 책 클래스를 생성하여 책의 속성을 받고 책의 갯수를 더하며 책의 반납과 대출여부를 확인하기 위해 만들었다. (알 수 없는 이유로 젤 처음 커밋한 책 클래스 내용이 커밋이 안 되고 유저 클래스랑 같이 올라가버려서 여기에 다시 쓰겠습니다...) --- src/Library.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/Library.java diff --git a/src/Library.java b/src/Library.java new file mode 100644 index 0000000..582dbfb --- /dev/null +++ b/src/Library.java @@ -0,0 +1,59 @@ +public class Library { + private String libraryName; + private Book book1; + private Book book2; + private Book book3; + + //도서관 제목을 받음 + public Library(String libraryName) { + this.libraryName = libraryName; + } + + //첫번째 책의 속성을 입력 + public void addBook1() { + this.book1 = new Book(); + this.book1.setBook("자바의 정석","남궁성","9788994492032",1,true); + } + + //두번째 책의 속성을 입력 + public void addBook2() { + this.book2 = new Book(); + this.book2.setBook("객체지향의 사실과 오해", "조영호","9788998139766",1,true); + } + + //세번째 책의 속성을 입력 + public void addBook3() { + this.book3 = new Book(); + this.book3.setBook("모던 자바 인 액션", "라울 게이브리얼 우르마", "9791162242025",1,true); + } + + //책 제목으로 해당하는 책 찾기 + public Book findBook(String bookname) { + if(book1.getBookname() == bookname) { return book1;} + if(book2.getBookname() == bookname) { return book2;} + if(book3.getBookname() == bookname) { return book3;} + return null; + } + + //도서관에 있는 책 모두 조회, abailablebooks가 0보다 크다면 대출 가능한 책이 있으므로 대출 가능합니다를 출력 + //아니라면 대출이 불가능합니다. 라는 메세지를 출력 + public void printBook() { + System.out.print(book1.getBookname() + ","); + System.out.print(book1.getAuthor() + ","); + System.out.print(book1.getIsbn() + ","); + if(book1.getAvailablebooks() > 0) System.out.println("대출 가능합니다."); + else System.out.println("대출이 불가능합니다."); + + System.out.print(book2.getBookname() + ","); + System.out.print(book2.getAuthor() + ","); + System.out.print(book2.getIsbn() + ","); + if(book2.getAvailablebooks() > 0) System.out.println("대출 가능합니다."); + else System.out.println("대출이 불가능합니다."); + + System.out.print(book3.getBookname() + ","); + System.out.print(book3.getAuthor() + ","); + System.out.print(book3.getIsbn() + ","); + if(book3.getAvailablebooks() > 0) System.out.println("대출 가능합니다."); + else System.out.println("대출이 불가능합니다."); + } +} \ No newline at end of file From d90773e4e3b2039b2d54303f0444d93ac4f8485e Mon Sep 17 00:00:00 2001 From: hsm Date: Tue, 18 Jun 2024 02:21:52 +0900 Subject: [PATCH 3/8] =?UTF-8?q?CHORE=20:=20=EB=B6=81=20=ED=81=B4=EB=9E=98?= =?UTF-8?q?=EC=8A=A4=EC=97=90=20=EC=A3=BC=EC=84=9D=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 코드 이해를 돕기 위해 주석을 작성했다. --- src/Book.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/Book.java b/src/Book.java index aa676de..d6dcce6 100644 --- a/src/Book.java +++ b/src/Book.java @@ -6,6 +6,7 @@ public class Book { private int total_books; private int availablebooks; + //책의 속성을 입력하기 위한 코드 public void setBook(String bookname, String author, String isbn, int total_Books,boolean loan) { this.bookname = bookname; this.author = author; @@ -13,25 +14,39 @@ public void setBook(String bookname, String author, String isbn, int total_Books this.total_books = total_Books; this.availablebooks = total_Books; } + + //책 이름 반환 public String getBookname() { return bookname; } + + //책 저자 반환 public String getAuthor() { return author; } + + //책 ISBN번호 반환 public String getIsbn() { return isbn; } + + //책 전체 갯수 반환 public int getTotal_books() { return total_books; } + + //대출 가능한 책 수 반환 public int getAvailablebooks() { return availablebooks; } + + //책 갯수 추가 public void addBook(int count) { this.total_books += count; this.availablebooks += count; } + + //책 대출, 대출이 된다면 대출 가능한 책 수가 1씩 빠진다. public boolean borrowBook() { if(availablebooks > 0) { availablebooks--; @@ -39,6 +54,8 @@ public boolean borrowBook() { } return false; } + + //책 반납, 반납이 되면 대출 가능한 책 수가 1씩 더해진다 public boolean returnBook() { if(availablebooks < total_books) { availablebooks++; From 3ea13b2f66f48daf40388c65da6a2437a3a19310 Mon Sep 17 00:00:00 2001 From: hsm Date: Tue, 18 Jun 2024 02:33:01 +0900 Subject: [PATCH 4/8] =?UTF-8?q?feat=20:=20=EB=A9=94=EC=9D=B8=EC=97=90=20?= =?UTF-8?q?=EC=A3=BC=EC=84=9D=EC=97=90=20=EB=94=B0=EB=A5=B8=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 주석에 따른 코드들을 작성 가장 기본적인 기능들 구현 --- src/Main.java | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/src/Main.java b/src/Main.java index c4d8849..7e664e3 100644 --- a/src/Main.java +++ b/src/Main.java @@ -6,65 +6,69 @@ public static void main(String[] args) { // 자바의 정석 저자 남궁성 ISBN 9788994492032 // 객체지향의 사실과 오해 저자 조영호 ISBN 9788998139766 // 모던 자바 인 액션 저자 라울 게이브리얼 우르마 ISBN 9791162242025 - - + Library library = new Library("부산소프트웨어마이스터고등학교 도서관"); + library.addBook1(); + library.addBook2(); + library.addBook3(); // TODO-2 이용자 생성 // 도서관 이용자 이밤돌을 생성합니다. - + User bamdol = new User("이밤돌"); // 도서관 이용자 김이로를 생성합니다. - - + User iro = new User("iro"); // TODO-3 도서 추가 // 도서관에 모던 자바 인 액션 저자 라울-게이브리얼-우르마 ISBN 9791162242025 이 한권 더 들어옵니다. - + Book modern = library.findBook("모던 자바 인 액션"); + modern.addBook(1); // TODO-4 도서 대출 // 이밤돌이 도서관에서 자바의 정석을 대출합니다. - + bamdol.borrowBook(library.findBook("자바의 정석")); // 이밤돌이 도서관에서 모던 자바 인 액션을 대출합니다. - + bamdol.borrowBook(library.findBook("모던 자바 인 액션")); // 김이로가 도서관에서 모던 자바 인 액션을 대출합니다. + iro.borrowBook(library.findBook("모던 자바 인 액션")); // TODO-5 이밤돌 도서 초과 대출 시도 // 이밤돌이 도서관에서 객체지향의 사실과 오해를 대출합니다. - + bamdol.borrowBook(library.findBook("객체지향의 사실과 오해")); // 대출은 정상적으로 처리되지 않고, 최대 2권이 책까지만 대출할 수 있다는 메시지를 출력합니다. - + //유저 클래스에 있는 borrowBook에서 출력도 같이 됩니다. // TODO-6 이밤돌 도서 반납 // 이밤돌이 도서관에 자바의 정석을 반납합니다. - - + bamdol.returnBook(library.findBook("자바의 정석")); // TODO-7 이밤돌 도서 대출 // 이밤돌이 도서관에서 객체지향의 사실과 오해를 대출합니다. - + bamdol.borrowBook(library.findBook("객체지향의 사실과 오해")); // TODO-8 김이로 이미 대출된 도서 대출 시도 // 김이로가 도서관에서 객체지향의 사실과 오해를 대출합니다. - + iro.borrowBook(library.findBook("객체지향의 사실과 오해")); // 이밤돌이 이미 대출했으므로 대출은 정상적으로 처리되지 않고, 다른 사람이 대출한 책은 대출할 수 없다는 메시지를 출력합니다. - + //유저 클래스에 있는 borrowBook에서 출력도 같이 됩니다. // TODO-9 이밤돌 도서 반납 // 이밤돌이 도서관에 객체지향의 사실과 오해를 반납합니다. - + bamdol.returnBook(library.findBook("객체지향의 사실과 오해")); // TODO-10 김이로 도서 대출 // 김이로가 도서관에서 객체지향의 사실과 오해를 대출합니다. - + iro.borrowBook(library.findBook("객체지향의 사실과 오해")); // TODO-11 김이로 대출하지 않은 책 반납 시도 // 김이로가 도서관에 자바의 정석 반납합니다. + iro.returnBook(library.findBook("자바의 정석")); // 반납은 정상적으로 처리되지 않고, 대출하지 않은 책은 반납할 수 없다는 메시지를 출력합니다. - + //유저 클래스에 있는 returnBook에서 출력도 같이 됩니다. // TODO-12 전체 조회 // 도서관에서 도서 목록을 조회합니다. - + library.printBook(); // 이밤돌이 본인이 대출한 도서를 조회합니다. - + bamdol.printBorrowBook(); // 김이로가 본인이 대출한 도서를 조회합니다. + iro.printBorrowBook(); } } \ No newline at end of file From 7c73dcf0ca04a4b775b0ed7b182e1ddc1abe3e73 Mon Sep 17 00:00:00 2001 From: hsm Date: Tue, 18 Jun 2024 09:35:29 +0900 Subject: [PATCH 5/8] =?UTF-8?q?feat=20:=20=EB=8F=84=EC=84=9C=EA=B4=80=20?= =?UTF-8?q?=EB=8F=84=EC=84=9C=20=EC=A1=B0=ED=9A=8C=20=EB=8C=80=EC=B6=9C?= =?UTF-8?q?=EC=9E=90=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 도서관을 조회할 때 대출자도 함께 출력하는 코드를 짰다. 오류 때문에 실행은 제대로 되지 않았다. --- src/Library.java | 14 ++++++++++++++ src/Main.java | 2 ++ src/User.java | 4 ++++ 3 files changed, 20 insertions(+) diff --git a/src/Library.java b/src/Library.java index 582dbfb..e1975ea 100644 --- a/src/Library.java +++ b/src/Library.java @@ -4,6 +4,14 @@ public class Library { private Book book2; private Book book3; + private User bamdol; + private User iro; + + public void setUsers(User bamdol, User iro) { + this.bamdol = bamdol; + this.iro = iro; + } + //도서관 제목을 받음 public Library(String libraryName) { this.libraryName = libraryName; @@ -42,17 +50,23 @@ public void printBook() { System.out.print(book1.getAuthor() + ","); System.out.print(book1.getIsbn() + ","); if(book1.getAvailablebooks() > 0) System.out.println("대출 가능합니다."); + if(bamdol.borrowUser("자바의 정석")) System.out.print(bamdol.getName() + ","); + if(iro.borrowUser("자바의 정석")) System.out.print(iro.getName() + ","); else System.out.println("대출이 불가능합니다."); System.out.print(book2.getBookname() + ","); System.out.print(book2.getAuthor() + ","); System.out.print(book2.getIsbn() + ","); + if(bamdol.borrowUser("객체지향의 사실과 오해")) System.out.print(bamdol.getName() + ","); + if(iro.borrowUser("객체지향의 사실과 오해")) System.out.print(iro.getName() + ","); if(book2.getAvailablebooks() > 0) System.out.println("대출 가능합니다."); else System.out.println("대출이 불가능합니다."); System.out.print(book3.getBookname() + ","); System.out.print(book3.getAuthor() + ","); System.out.print(book3.getIsbn() + ","); + if(bamdol.borrowUser("모던 자바 인 액션")) System.out.print(bamdol.getName() + ","); + if(iro.borrowUser("모던 자바 인 액션")) System.out.print(iro.getName() + ","); if(book3.getAvailablebooks() > 0) System.out.println("대출 가능합니다."); else System.out.println("대출이 불가능합니다."); } diff --git a/src/Main.java b/src/Main.java index 7e664e3..3272c8d 100644 --- a/src/Main.java +++ b/src/Main.java @@ -15,6 +15,8 @@ public static void main(String[] args) { User bamdol = new User("이밤돌"); // 도서관 이용자 김이로를 생성합니다. User iro = new User("iro"); + //도서관에 이용자를 추가 + library.setUsers(bamdol, iro); // TODO-3 도서 추가 // 도서관에 모던 자바 인 액션 저자 라울-게이브리얼-우르마 ISBN 9791162242025 이 한권 더 들어옵니다. Book modern = library.findBook("모던 자바 인 액션"); diff --git a/src/User.java b/src/User.java index 37490bf..91d50ad 100644 --- a/src/User.java +++ b/src/User.java @@ -61,4 +61,8 @@ public void printBorrowBook() { System.out.println(name + ":" + borrow_book2.getBookname()); } } + public boolean borrowUser(String bookname) { + if(borrow_book.equals(bookname) || borrow_book2.equals(bookname)) return true; + return false; + } } \ No newline at end of file From 6c56645f6219a814944d3449a6e8d71162a301d4 Mon Sep 17 00:00:00 2001 From: hsm Date: Tue, 18 Jun 2024 13:36:32 +0900 Subject: [PATCH 6/8] =?UTF-8?q?fix=20:=20=EB=8F=84=EC=84=9C=EA=B4=80=20?= =?UTF-8?q?=EB=8C=80=EC=B6=9C=EC=9E=90=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 대출 여부를 확인하는 코드를 만들어 빌린책 제목과 입력받은 책 제목을 비교하여 대출 여부를 확인한다. 대출자 코드에서 대출 여부를 확인하는 코드를 넣어 참이라면 대출을 한 것이기 때문에 유저의 이름을 반환시켰다. 대출자 코드를 보기 편하게 묶어줬다. --- src/Library.java | 13 +++++++------ src/User.java | 7 ++++--- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/Library.java b/src/Library.java index e1975ea..51b2fc2 100644 --- a/src/Library.java +++ b/src/Library.java @@ -43,30 +43,31 @@ public Book findBook(String bookname) { return null; } + public void printBorrower(String bookname) { + if(bamdol.checkBorrow(bookname)) System.out.print(bamdol.getName() + ","); + if(iro.checkBorrow(bookname)) System.out.print(iro.getName() + ","); + } //도서관에 있는 책 모두 조회, abailablebooks가 0보다 크다면 대출 가능한 책이 있으므로 대출 가능합니다를 출력 //아니라면 대출이 불가능합니다. 라는 메세지를 출력 public void printBook() { System.out.print(book1.getBookname() + ","); System.out.print(book1.getAuthor() + ","); System.out.print(book1.getIsbn() + ","); + printBorrower("자바의 정석"); if(book1.getAvailablebooks() > 0) System.out.println("대출 가능합니다."); - if(bamdol.borrowUser("자바의 정석")) System.out.print(bamdol.getName() + ","); - if(iro.borrowUser("자바의 정석")) System.out.print(iro.getName() + ","); else System.out.println("대출이 불가능합니다."); System.out.print(book2.getBookname() + ","); System.out.print(book2.getAuthor() + ","); System.out.print(book2.getIsbn() + ","); - if(bamdol.borrowUser("객체지향의 사실과 오해")) System.out.print(bamdol.getName() + ","); - if(iro.borrowUser("객체지향의 사실과 오해")) System.out.print(iro.getName() + ","); + printBorrower("객체지향의 사실과 오해"); if(book2.getAvailablebooks() > 0) System.out.println("대출 가능합니다."); else System.out.println("대출이 불가능합니다."); System.out.print(book3.getBookname() + ","); System.out.print(book3.getAuthor() + ","); System.out.print(book3.getIsbn() + ","); - if(bamdol.borrowUser("모던 자바 인 액션")) System.out.print(bamdol.getName() + ","); - if(iro.borrowUser("모던 자바 인 액션")) System.out.print(iro.getName() + ","); + printBorrower("모던 자바 인 액션"); if(book3.getAvailablebooks() > 0) System.out.println("대출 가능합니다."); else System.out.println("대출이 불가능합니다."); } diff --git a/src/User.java b/src/User.java index 91d50ad..fa2980d 100644 --- a/src/User.java +++ b/src/User.java @@ -61,8 +61,9 @@ public void printBorrowBook() { System.out.println(name + ":" + borrow_book2.getBookname()); } } - public boolean borrowUser(String bookname) { - if(borrow_book.equals(bookname) || borrow_book2.equals(bookname)) return true; - return false; + + //대출 여부 확인 + public boolean checkBorrow(String bookname) { + return (borrow_book != null && borrow_book.getBookname().equals(bookname)) || (borrow_book2 != null && borrow_book2.getBookname().equals(bookname)); } } \ No newline at end of file From 43c390a06bac870bb785dd310943964d914fdfd1 Mon Sep 17 00:00:00 2001 From: hsm Date: Tue, 18 Jun 2024 15:01:54 +0900 Subject: [PATCH 7/8] =?UTF-8?q?feat=20:=20=EB=8C=80=EC=B6=9C=20=EA=B0=80?= =?UTF-8?q?=EB=8A=A5=ED=95=9C=20=EC=B1=85=20=EC=A1=B0=ED=9A=8C=EC=99=80=20?= =?UTF-8?q?=EB=8C=80=EC=B6=9C=EC=9D=B4=20=EB=B6=88=EA=B0=80=EB=8A=A5?= =?UTF-8?q?=ED=95=9C=20=EC=B1=85=20=EC=A1=B0=ED=9A=8C=20=EA=B8=B0=EB=8A=A5?= =?UTF-8?q?=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 대출이 가능한 책과 불가능한 책을 나누어 조회할 수 있도록 printUnavailableBook과 printavailableBook 메소드를 만들어 대출이 가능한 책인 availablebooks를 0과 비교하며 0과 같으면 대출할 수 없으니 printUnavailableBook에서 출력하도록 하고 0보다 크면 printavailableBook에서 대출 가능한 책으로 출력하도록 만들었다 --- src/Library.java | 70 ++++++++++++++++++++++++++++++++++-------------- src/Main.java | 5 +++- 2 files changed, 54 insertions(+), 21 deletions(-) diff --git a/src/Library.java b/src/Library.java index 51b2fc2..a591549 100644 --- a/src/Library.java +++ b/src/Library.java @@ -47,28 +47,58 @@ public void printBorrower(String bookname) { if(bamdol.checkBorrow(bookname)) System.out.print(bamdol.getName() + ","); if(iro.checkBorrow(bookname)) System.out.print(iro.getName() + ","); } - //도서관에 있는 책 모두 조회, abailablebooks가 0보다 크다면 대출 가능한 책이 있으므로 대출 가능합니다를 출력 + //도서관에 있는 책 모두 조회, availablebooks가 0보다 크다면 대출 가능한 책이 있으므로 대출 가능합니다를 출력 //아니라면 대출이 불가능합니다. 라는 메세지를 출력 - public void printBook() { - System.out.print(book1.getBookname() + ","); - System.out.print(book1.getAuthor() + ","); - System.out.print(book1.getIsbn() + ","); - printBorrower("자바의 정석"); - if(book1.getAvailablebooks() > 0) System.out.println("대출 가능합니다."); - else System.out.println("대출이 불가능합니다."); + public void printUnavailableBook() { + System.out.print("대출 불가능한 책 : "); + if(book1.getAvailablebooks()==0) { + System.out.print(book1.getBookname() + ","); + System.out.print(book1.getAuthor() + ","); + System.out.print(book1.getIsbn() + ","); + printBorrower("자바의 정석"); + System.out.println("대출이 불가능합니다."); + } - System.out.print(book2.getBookname() + ","); - System.out.print(book2.getAuthor() + ","); - System.out.print(book2.getIsbn() + ","); - printBorrower("객체지향의 사실과 오해"); - if(book2.getAvailablebooks() > 0) System.out.println("대출 가능합니다."); - else System.out.println("대출이 불가능합니다."); + if(book2.getAvailablebooks()==0) { + System.out.print(book2.getBookname() + ","); + System.out.print(book2.getAuthor() + ","); + System.out.print(book2.getIsbn() + ","); + printBorrower("객체지향의 사실과 오해"); + System.out.println("대출이 불가능합니다."); + } - System.out.print(book3.getBookname() + ","); - System.out.print(book3.getAuthor() + ","); - System.out.print(book3.getIsbn() + ","); - printBorrower("모던 자바 인 액션"); - if(book3.getAvailablebooks() > 0) System.out.println("대출 가능합니다."); - else System.out.println("대출이 불가능합니다."); + if(book3.getAvailablebooks()==0) { + System.out.print(book3.getBookname() + ","); + System.out.print(book3.getAuthor() + ","); + System.out.print(book3.getIsbn() + ","); + printBorrower("모던 자바 인 액션"); + System.out.println("대출이 불가능합니다."); + } + } + public void printavailableBook() { + System.out.print("대출 가능한 책 : "); + if(book1.getAvailablebooks() > 0) { + System.out.print(book1.getBookname() + ","); + System.out.print(book1.getAuthor() + ","); + System.out.print(book1.getIsbn() + ","); + printBorrower("자바의 정석"); + System.out.println("대출이 가능합니다."); + } + + if(book2.getAvailablebooks() > 0) { + System.out.print(book2.getBookname() + ","); + System.out.print(book2.getAuthor() + ","); + System.out.print(book2.getIsbn() + ","); + printBorrower("객체지향의 사실과 오해"); + System.out.println("대출이 가능합니다."); + } + + if(book3.getAvailablebooks() > 0) { + System.out.print(book3.getBookname() + ","); + System.out.print(book3.getAuthor() + ","); + System.out.print(book3.getIsbn() + ","); + printBorrower("모던 자바 인 액션"); + System.out.println("대출이 가능합니다."); + } } } \ No newline at end of file diff --git a/src/Main.java b/src/Main.java index 3272c8d..b71a6a3 100644 --- a/src/Main.java +++ b/src/Main.java @@ -67,7 +67,10 @@ public static void main(String[] args) { // TODO-12 전체 조회 // 도서관에서 도서 목록을 조회합니다. - library.printBook(); + //대출이 불가능한 책 조회 + library.printUnavailableBook(); + //대출이 가능한 책 조회 + library.printavailableBook(); // 이밤돌이 본인이 대출한 도서를 조회합니다. bamdol.printBorrowBook(); // 김이로가 본인이 대출한 도서를 조회합니다. From f067142e62e2a242213c2d131139124c4bc63873 Mon Sep 17 00:00:00 2001 From: hsm Date: Tue, 18 Jun 2024 15:15:09 +0900 Subject: [PATCH 8/8] =?UTF-8?q?CHORE=20:=20=EB=8F=84=EC=84=9C=EA=B4=80=20?= =?UTF-8?q?=ED=81=B4=EB=9E=98=EC=8A=A4=20=EC=95=88=EC=97=90=20=EB=A9=94?= =?UTF-8?q?=EC=86=8C=EB=93=9C=20=EC=A3=BC=EC=84=9D=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 대출자 이름을 출력하는 메소드 주석을 작성했다. --- src/Library.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Library.java b/src/Library.java index a591549..89382e8 100644 --- a/src/Library.java +++ b/src/Library.java @@ -43,6 +43,7 @@ public Book findBook(String bookname) { return null; } + //대출자의 이름을 출력하는 메소드 public void printBorrower(String bookname) { if(bamdol.checkBorrow(bookname)) System.out.print(bamdol.getName() + ","); if(iro.checkBorrow(bookname)) System.out.print(iro.getName() + ",");