/
apfsnormtema
/
Library
Обзор
Документация
Войти
/
apfsnormtema
/
Library
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Library.java
176 строк
7 KB
apfsnormtema
Загрузить файлы в «»
14 июн 2026, 15:11
Верифицирован
14 июн 2026, 15:11
0001007
Код
Авторство
О чём код?
import java.util.List; import java.util.ArrayList; import java.util.Scanner; class Book { String title; String author; int year; Boolean isAvailable; public Book(String title, String author, int year, Boolean isAvailable) { this.title = title; this.author = author; this.year = year; this.isAvailable = isAvailable; } } class ManyBooks { List<Book> library = new ArrayList<Book>(); public void addBook(Scanner scanner) { System.out.println("Введите название книги"); String nameBook = scanner.nextLine(); System.out.println("Введите Фамилию автора этой книги"); String nameAuthor = scanner.next(); System.out.println("Введите год в котором эта книга вышла в свет"); int bookYear = scanner.nextInt(); scanner.nextLine(); library.add(new Book(nameBook, nameAuthor, bookYear, true)); } public void takeBook(Scanner scanner) { System.out.println("Пожалуйста введите название книги которую хотите взять"); String nameBook = scanner.nextLine(); Boolean found = false; for (Book i : library) { if (i.title.equals(nameBook)) { found = true; if (i.isAvailable) { System.out.println("Вы успешно взяли книгу: " + i.title + ", написанная: " + i.author + " в " + i.year + " году."); i.isAvailable = false; } else { System.out.println("К сожалению книга находиться у другого человека. Попробуйте позже."); } } } if (found == false) { System.out.println("К сожалению книги нет в наличии."); } } public void showAllBooks() { for (Book i : library) { if (i.isAvailable) { System.out.println("Книга " + i.title + ", написана " + i.author + " в " + i.year + " году. Ее можно взять"); } else { System.out.println("Книга " + i.title + ", написана " + i.author + " в " + i.year + " году. Ее нет в наличии, ждем пока ее вернут"); } } } public void returnBook(Scanner scanner) { System.out.println("Введите название книги которую хотите вернуть"); String bookName = scanner.nextLine(); Boolean found = false; for (Book i : library) { if (i.title.equals(bookName) && i.isAvailable == false) { i.isAvailable = true; found = true; System.out.println("Вы успешно вернули книгу. Спасибо!"); break; } else if (i.title.equals(bookName) && i.isAvailable == true) { found = true; System.out.println("Книга в наличии."); break; } } if (found == false) { System.out.println("У нас нет такой книги. Может быть вы хотите добавить эту книгу? Нажмите 1 если да и 2 если нет"); int answer = scanner.nextInt(); scanner.nextLine(); if (answer == 1){ addBook(scanner); } else { System.out.println("До свидания!"); } } } public void findByAuthor(Scanner scanner) { System.out.println("Введите фамилию автора."); String authorName = scanner.nextLine(); Boolean authorFind = false; for (Book i : library) { if (i.author.equals(authorName)) { authorFind = true; if (i.isAvailable) { System.out.println("Книга " + i.title + ", написана " + i.author + " в " + i.year + " году - доступна."); } else { System.out.println("Книга " + i.title + ", написана " + i.author + " в " + i.year + " году - не доступна."); } } } if (!authorFind) { System.out.println("Книг этого автора у нас нет."); } } public void deleteBook(Scanner scanner) { System.out.println("Напишите название книги которую хотите удалить."); String bookName = scanner.nextLine(); Boolean found = false; for (Book i : library) { if (i.title.equals(bookName)) { found = true; library.remove(i); System.out.println("Вы успешно удалили книгу."); } } if (!found) { System.out.println("У нас нет такой книги."); } } } public class Library { public static void main(String[] args) throws Exception { Scanner scanner = new Scanner(System.in); ManyBooks myLibrary = new ManyBooks(); loop: while (true) { System.out.println(">>> МЕНЮ <<<"); System.out.println("1. Добавить книгу - 1"); System.out.println("2. Показать все книги которые имеются - 2"); System.out.println("3. Взять книгу - 3"); System.out.println("4. Вернуть книгу - 4"); System.out.println("5. Найти книгу по автору - 5"); System.out.println("6. Удалить книгу - 6"); System.out.println("7. Выйти - 7"); int answer = scanner.nextInt(); scanner.nextLine(); switch (answer) { case 1: myLibrary.addBook(scanner); break; case 2: myLibrary.showAllBooks(); break; case 3: myLibrary.takeBook(scanner); break; case 4: myLibrary.returnBook(scanner); break; case 5: myLibrary.findByAuthor(scanner); break; case 6: myLibrary.deleteBook(scanner); break; case 7: System.out.println("До свидания!"); break loop; default: System.out.println("Неверное значение"); break; } } scanner.close(); } }