Menu
Coddy logo textTech

Обзор проекта и UML-проектирование

Часть раздела Объектно-ориентированное программирование путешествия по Java на Coddy. Урок 77 из 87.

challenge icon

Задание

Легко

Начнём проект Library Management System с создания основы: основных классов сущностей, от которых будет зависеть всё остальное. В этом первом задании основное внимание уделяется созданию хорошо структурированных классов Book и User, которые моделируют основные сущности системы.

Ты разместишь свой код в трёх файлах:

  • Book.java: Создай класс Book, представляющий книгу библиотеки. Каждая книга должна иметь Private fields для isbn (String), title (String), author (String) и isAvailable (boolean, по умолчанию имеющий значение true). Добавь constructor, который accepts isbn, title и author. Предоставь соответствующие Getter methods для всех fields и Setter для isAvailable. Добавь method getDetails(), который Returns отформатированную строку: [isbn] title by author.
  • User.java: Создай класс User, представляющий участника библиотеки. Каждый пользователь должен иметь Private fields для id (String) и name (String). Добавь constructor, который accepts оба значения, и предоставь Getter methods для каждого field. Добавь method toString(), который Returns: User[id]: name.
  • Main.java: Объедини свои классы, чтобы продемонстрировать их корректную работу. Ты получишь пять входных значений: ISBN книги, title, author, а затем ID и имя пользователя.

    Создай Book с использованием первых трёх входных значений и User с использованием последних двух. Выведи details книги с помощью getDetails(), затем выведи, доступна ли книга, в формате Available: true или Available: false. Наконец, выведи пользователя с помощью его toString() method.

Ты получишь пять входных значений в следующем порядке: ISBN (String), title (String), author (String), ID пользователя (String) и имя пользователя (String).

Например, если ввести 978-0-13-468599-1, Effective Java, Joshua Bloch, U001 и Alice Smith, результатом будет:

[978-0-13-468599-1] Effective Java by Joshua Bloch
Available: true
User[U001]: Alice Smith

Эти основные классы станут строительными блоками для всей Library Management System. В следующих уроках ты расширишь их, добавив функциональность заимствования, возможности поиска и многое другое!

Попробуйте сами

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Считать информацию о книге
        String isbn = scanner.nextLine();
        String title = scanner.nextLine();
        String author = scanner.nextLine();
        
        // Считать информацию о пользователе
        String userId = scanner.nextLine();
        String userName = scanner.nextLine();
        
        // TODO: Создать объект Book с isbn, title и author
        
        // TODO: Создать объект User с userId и userName
        
        // TODO: Вывести детали книги с помощью getDetails()
        
        // TODO: Print whether the book is available (format: "Available: true" or "Available: false")
        
        // TODO: Вывести пользователя с помощью toString()
    }
}

Все уроки раздела Объектно-ориентированное программирование

Потренируйтесь самостоятельно: Онлайн-компилятор Java