构造函数未定义错误

时间:2018-04-20 12:30:17

标签: java constructor

此代码来自各种来源,为旧的麻省理工学院课程提供答案。我无法编译。如何更改此代码以删除“构造函数Book(String)未定义”错误?

import java.awt.print.Book;
import java.util.*;

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

    public Library(String address) {
        libraryAddress = address;
    }

    public void addBook(Book book) {
        books.add(book);
    }

    public void printAddress() {
        System.out.println(libraryAddress);
    }

    public static void printOpeningHours() {
        System.out.println("Libraries are open daily from 9am to 5pm.");
    }

    public static void main(String[] args) {
        // Create two libraries
        Library firstLibrary = new Library("10 Main St.");
        Library secondLibrary = new Library("228 Liberty St.");

        // Add four books to the first library
        firstLibrary.addBook(new Book("The Da Vinci Code"));
        //firstLibrary.addBook(new Book("Le Petit Prince"));
        //firstLibrary.addBook(new Book("A Tale of Two Cities"));
        //firstLibrary.addBook(new Book("The Lord of the Rings"));

        // Print opening hours and the addresses
        System.out.println("Library hours:");
        printOpeningHours();
        System.out.println();

        System.out.println("Library addresses:");
        firstLibrary.printAddress();
        secondLibrary.printAddress();
        System.out.println();
    }
}

1 个答案:

答案 0 :(得分:1)

您添加了错误的导入 import java.awt.print.Book;

删除此导入,您需要导入包中存在的Book类。

根据您的代码预订班级示例:

public class Book {
    String bookName;

    public Book(String name) {
        this.bookName = name;
    }
}

您需要添加此类并将其导入您的Library类

相关问题