package tushu; public class Book { private String title; private String author; private String publisher; private String isbn; public Book(String title, String author, String publisher, String isbn) { this.title = title; this.author = author; this.publisher = publisher; this.isbn = isbn; } public String getTitle() { return title; } public String getAuthor() { return author; } public String getPublisher() { return publisher; } public String getIsbn() { return isbn; } public String toString() { return title + "," + author + "," + publisher + "," + isbn; } }
时间: 2024-04-28 16:22:57 浏览: 23
这是一个 Java 类,名为 Book,它有四个私有属性:title、author、publisher 和 isbn。这个类有一个构造函数,用于初始化这四个属性。同时,这个类还有四个公有方法,分别用于获取 title、author、publisher 和 isbn 这四个属性的值。最后,这个类还有一个 toString() 方法,用于返回一个字符串,表示这个 Book 对象的四个属性值,以逗号分隔。
相关问题
package tushu; import java.util.Comparator; public class BookComparator implements Comparator<Book> { private String field; public BookComparator(String field) { this.field = field; } public int compare(Book b1, Book b2) { if (field.equals("booktitle")) { return b1.getTitle().compareTo(b2.getTitle()); } else if (field.equals("author")) { return b1.getAuthor().compareTo(b2.getAuthor()); } return 0; } }
这段代码是一个实现了Comparator接口的类,用于对Book对象进行比较。其中,构造方法BookComparator(String field)接收一个String参数,用于指定比较的字段(booktitle或者author)。compare(Book b1, Book b2)方法实现了比较逻辑,如果指定的字段是booktitle,则按照书名进行比较(调用getTitle()方法),如果是author,则按照作者进行比较(调用getAuthor()方法)。如果指定的字段不是booktitle或者author,则返回0。这个类可以在对Book对象进行排序时使用,例如使用Collections.sort()方法。
Unresolved attribute reference 'isbn' for class 'Tushu'
这个错误提示表明,在类`Tushu`中,你尝试引用一个名为`isbn`的属性,但是这个属性并没有在类中被定义或初始化。
检查一下你的代码,看看在`Tushu`类中是否有定义名为`isbn`的属性,如果没有,你需要在类中添加一个`isbn`属性的定义,例如:
```python
class Tushu:
def __init__(self, name, author, isbn):
self.name = name
self.author = author
self.isbn = isbn
def display_info(self):
print(f"Book Name: {self.name}")
print(f"Author: {self.author}")
print(f"ISBN: {self.isbn}")
```
在这个例子中,我们在`__init__`方法中添加了一个`isbn`参数,并将其赋值给类的`isbn`属性。这样就可以在类的其他方法中引用`isbn`属性了。