编写一个Book类,该类至少有price成员变量。该类实现Comparable接口,在接口的compareTo( )方法中规定Book类的两个实例的大小关系为两者的price成员的大小关系。 编写一个主类MainClass,在main()方法中将Book类的若干个对象存放到一个链表中,然后用Book类创建一个新的对象,并检查这个对象和链表中的哪些对象相等。
时间: 2024-03-08 14:50:28 浏览: 84
String类下compareTo()与compare()方法比较
5星 · 资源好评率100%
好的,下面是一个符合要求的Java代码示例:
Book.java
```java
public class Book implements Comparable<Book> {
private double price;
public Book(double price) {
this.price = price;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public int compareTo(Book other) {
if (this.price < other.price) {
return -1;
} else if (this.price > other.price) {
return 1;
} else {
return 0;
}
}
}
```
MainClass.java
```java
import java.util.LinkedList;
import java.util.List;
public class MainClass {
public static void main(String[] args) {
List<Book> list = new LinkedList<>();
list.add(new Book(10.0));
list.add(new Book(20.0));
list.add(new Book(30.0));
list.add(new Book(40.0));
Book book = new Book(20.0);
for (Book b : list) {
if (book.compareTo(b) == 0) {
System.out.println("The book with price " + book.getPrice() + " is equal to a book in the list.");
}
}
}
}
```
在上面的代码中,Book类实现了Comparable接口,并重写了接口中的compareTo()方法。在MainClass类的main()方法中,创建了一个Book对象链表,并创建了一个新的Book对象。然后,使用循环遍历链表中的每一个Book对象,调用compareTo()方法进行比较,如果返回值为0,就说明新创建的Book对象和链表中的某个Book对象相等。最后,输出相等的结果。
阅读全文