CUMT-----Java课后第八章编程作业

文章目录

    • [1. 题目描述](#1. 题目描述)
    • [2. 代码编写](#2. 代码编写)
    • [3. 运行截图](#3. 运行截图)

1. 题目描述

(1)定义一个Book类并能根据价格进行比较。(2)创建一个泛型集合存放图书,对图书进行排序并输出。

2. 代码编写

java 复制代码
package CumtJava;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
class Book implements Comparable<Book> {
    private String title;
    private double price;

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

    public String getTitle() {
        return title;
    }

    public double getPrice() {
        return 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;
        }
    }
}
java 复制代码
package CumtJava;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class BookSortExample {
    public static void main(String[] args) {
        List<Book> books = new ArrayList<>(); //集合
        books.add(new Book("Book1", 25.0));
        books.add(new Book("Book2", 15.0));
        books.add(new Book("Book3", 30.0));
        books.add(new Book("Book4", 20.0));

        // 对图书列表进行排序
        Collections.sort(books);

        // 输出排序后的图书列表
        for (Book book : books) {
            System.out.println("Title: " + book.getTitle() + ", Price: " + book.getPrice());
        }
    }
}

3. 运行截图

相关推荐
阿珊和她的猫22 分钟前
v-scale-scree: 根据屏幕尺寸缩放内容
开发语言·前端·javascript
fouryears_234173 小时前
Flutter InheritedWidget 详解:从生命周期到数据流动的完整解析
开发语言·flutter·客户端·dart
我好喜欢你~3 小时前
C#---StopWatch类
开发语言·c#
桦说编程5 小时前
Java 中如何创建不可变类型
java·后端·函数式编程
lifallen5 小时前
Java Stream sort算子实现:SortedOps
java·开发语言
IT毕设实战小研5 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
没有bug.的程序员5 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋6 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
cui__OaO6 小时前
Linux软件编程--线程
linux·开发语言·线程·互斥锁·死锁·信号量·嵌入式学习
阿华的代码王国6 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端