比较包裹寄送报价是一门 Java 实践项目课程,适合希望用接口和多态完成实际决策的学习者。你将构建一个终端程序,为合成包裹生成报价,将适用资格与价格分开,并在完整报价文件中保留所有最低价选择。
课程包含两个引导实验和一个挑战实验。先通过共同接口实现固定价与阶梯价规则,再比较规则对象,在不重写比较器的情况下注册新的规则实例,并把实际输出保存到 work/quotes.tsv。挑战实验使用不同包裹和费率,沿用相同机制。每个实验独立提供自己的源码框架和数据。
你将学到什么
完成本课程后,你将能够:
- 使用 Java 接口和
implements实现可替换的寄送规则; - 将适用资格与整数分价格分开,包括合法的零分报价;
- 使用整数克和整数分计算价格,对每个已开始的重量阶梯向上取整;
- 保留全部并列最低价规则,区分合法无报价与无效重量;
- 添加既有规则的参数化实例,同时保持比较流程不变;
- 保留包裹 ID 和原始输入,保存逐包裹的完整报价与获选方案。
本课程适合谁
本课程适合准备在小而完整的终端应用中练习类与多态的 Java 学习者。
前置要求: 掌握 Java 类、构造方法、方法、列表、基础多态和基本终端路径操作。引导实验会讲解 interface、implements、明确的报价结果及所需的整数阶梯计算。
学习环境: LabEx 提供浏览器中的 WebIDE,包含集成终端、Java 编译器、起始源码以及合成包裹和费率记录。无需在本机安装 Java 或构建工具。应用命令、标签和输出保留英文。
常见问题
这些是真实承运商的现行价格吗?
不是。全部费率都是合成教学数据。程序会依据给定规则进行真实 Java 计算并生成实际报价文件,不会连接物流服务。
我要从零编写整个应用吗?
不需要。启动器和输入读取器已经准备好。你将完成适用资格、固定价与阶梯价,以及基于接口的比较。合法包裹没有适用规则属于正常结果;无效重量则会在输出报价前拒绝整批输入。
挑战实验如何扩展引导实验?
挑战会改变包裹身份、重量和费率参数,包含并列选择和无报价包裹。你将组合相同的已学规则,在保留原始记录的同时交付完整报价。各环境相互独立,无需上一实验的文件。


