a) 编写一个利用编写图书的增删改查

2) 需求说明
a) 编写一个Book类,该类至少有name和price两个属性。
b) 该类要实现Comparable接口,在接口的compareTo()方法中规定两个Book类实例的大小关系为二者的price属性的大小关系。
c) 在主函数中,选择合适的集合类型存放Book类的若干个对象,然后创建一个新的Book类的对象,并检查该对象与集合中的哪些对象相等
d) 程序中要有异常处理。不用数据库

import java.util.ArrayList;
import java.util.List;

class Book implements Comparable<Book>
{
    private String name;
    private double price;

    public Book(String name, double price) {
        this.name = name;
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public double getPrice() {
        return price;
    }

    @Override
    public int compareTo(Book otherBook) {
        if (this.price < otherBook.price) {
            return -1;
        } else if (this.price > otherBook.price) {
            return 1;
        } else {
            return 0;
        }
    }
}

public class Main {
    public static void main(String[] args) {
        Book book1 = new Book("aaa", 29.99);
        Book book2 = new Book("bbb", 39.99);
        Book book3 = new Book("ccc", 24.99);

        List<Book> bookList = new ArrayList<>();
        bookList.add(book1);
        bookList.add(book2);
        bookList.add(book3);

        Book newBook = new Book("ddd", 24.99);
        for (Book book : bookList) {
            if (newBook.equals(book)) {
                System.out.println("新的 `Book` 对象和对象 " + book.getName() + " 相等。");
            }
        }
    }
}



```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Book implements Comparable<Book>{
    private String name;
    private double price;

    // Constructor
    public Book(String name, double price) {
        this.name = name;
        this.price = price;
    }

    // Getters and Setters
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }

    @Override
    public int compareTo(Book otherBook) {
        if (this.price < otherBook.getPrice()) {
            return -1;
        } else if (this.price > otherBook.getPrice()) {
            return 1;
        }
        return 0;
    }

    public static void main(String[] args) {
        List<Book> books = new ArrayList<>();
        books.add(new Book("The Great Gatsby", 10.99));
        books.add(new Book("To Kill a Mockingbird", 8.99));
        books.add(new Book("1984", 12.99));
        books.add(new Book("Pride and Prejudice", 6.99));

        Book newBook = new Book("The Great Gatsby", 10.99);

        for (Book book : books) {
            if (book.equals(newBook)) {
                System.out.println("The new book is equal to " + book.getName());
            }
        }

        try {
            // Some code that might throw an exception
        } catch (Exception e) {
            System.out.println("An error occurred: " + e.getMessage());
        }
    }

}
解释:

实现了一个Book类,包括属性 name 和 price,并且实现了Comparable<Book>接口,根据价格比较两个对象的大小。
在主函数中,实例化了一个Book列表,添加了四个不同的书,并且实例化了一个新的书,检查是否与列表中的书相等。
添加了异常处理代码块,以防止程序出错并输出错误消息。

```

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^