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. 运行截图

相关推荐
2501_933329552 小时前
媒介宣发技术实践:Infoseek舆情系统的AI中台架构与应用解析
开发语言·人工智能·架构·数据库开发
雨奔3 小时前
Kubernetes DNS 完全指南:服务发现核心机制与实践
java·kubernetes·服务发现
[J] 一坚3 小时前
嵌入式高手C
c语言·开发语言·stm32·单片机·mcu·51单片机·iot
odoo中国3 小时前
Odoo 19技术教程 : 如何在 Odoo 19 中创建 Many2one 组件
开发语言·odoo·odoo19·odoo技术·many2one
逻辑驱动的ken3 小时前
Java高频面试考点场景题14
java·开发语言·深度学习·面试·职场和发展·求职招聘·春招
阿冰冰呀3 小时前
互联网大厂Java求职面试实录:谢飞机的“水货”之路
java·mybatis·dubbo·springboot·线程池·多线程·hashmap
水无痕simon4 小时前
1.单机部署Nacos1.3.2
java
techdashen5 小时前
Cloudflare 如何把一个大型代理拆成三个小服务来提升可靠性
开发语言·rust
geovindu5 小时前
go: Chain of Responsibility Pattern
开发语言·设计模式·golang·责任链模式
十五年专注C++开发5 小时前
WaitingSpinnerWidget: 一个高度可配置的自定义Qt等待加载动画组件
开发语言·c++·qt·waitingspinner