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

相关推荐
皙然15 分钟前
深入拆解MESI协议:从原理到实战,搞懂CPU缓存一致性的核心机制
java·缓存
郝学胜-神的一滴16 分钟前
【技术实战】500G单行大文件读取难题破解!生成器+自定义函数最优方案解析
开发语言·python·程序人生·面试
愤豆20 分钟前
02-Java语言核心-语法特性-注解体系详解
java·开发语言·python
是翔仔呐35 分钟前
第13章 SPI通信协议全解:底层时序、4种工作模式与W25Qxx Flash芯片读写实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
2401_8785302142 分钟前
自定义内存布局控制
开发语言·c++·算法
x-cmd42 分钟前
[x-cmd] 终端里的飞书:lark-cli,让 AI Agent 拥有“实体办公”能力
java·人工智能·ai·飞书·agent·x-cmd
wjs20241 小时前
SQLite 子查询
开发语言
AndrewMe82111 小时前
detailed-docx:一个能保住格式的 Word 文档操作库
开发语言·python·word
IT方大同1 小时前
RT_thread(RTOS实时操作系统)线程的创建与切换
c语言·开发语言·嵌入式硬件
吾日三省Java1 小时前
SpringBoot锁设计:让你的系统不再“抢”出问题!
java·spring boot·设计思路