007 クラス (クラスの集約)014 解答例

Book クラスの宣言

public class Book {
    private String title;
    private String author;
    private int publicationYear;

    // コンストラクタ:タイトル、著者、出版年を指定できる
    public Book(String title, String author, int publicationYear) {
        this.title = title;
        this.author = author;
        this.publicationYear = publicationYear;
    }

    // 本の情報を表示するメソッド
    public void displayInfo() {
        System.out.println("タイトル: " + title);
        System.out.println("著者: " + author);
        System.out.println("出版年: " + publicationYear);
    }
}

Library クラスの宣言

import java.util.ArrayList;

public class Library {
    private ArrayList<Book> books = new ArrayList<>();

    // 本をライブラリに追加するメソッド
    public void addBook(Book book) {
        books.add(book);
        System.out.println("本を追加しました: " + book.displayInfo());
    }

    // ライブラリにある本の一覧を表示するメソッド
    public void displayBooks() {
        System.out.println("ライブラリにある本の一覧:");
        for (Book book : books) {
            book.displayInfo();
            System.out.println("---");
        }
    }
}

利用例

public class Main {
    public static void main(String[] args) {
        // Book クラスと Library クラスのインスタンスを作成
        Book book1 = new Book("Java入門", "山田太郎", 2022);
        Book book2 = new Book("Pythonプログラミング", "鈴木花子", 2021);

        Library library = new Library();

        // ライブラリに本を追加
        library.addBook(book1);
        library.addBook(book2);

        // ライブラリにある本の一覧を表示
        library.displayBooks();
    }
}

この例では、Book クラスが本の情報を保持し、Library クラスが複数の本を管理しています。Main クラスで本を作成し、Library クラスに追加してその一覧を表示しています。

「007 クラス」問題集リスト