Java高级综合应用考试:水果超市系统代码全解析
为了满足考试要求,我会提供一个简单的Java代码实现,包括`Fruit`类、`FruitBiz`类和`TestFruit`类。这里假设我们使用了`java.util.ArrayList`来存储水果信息,并使用`java.io.Serializable`接口进行序列化和反序列化以保存到磁盘文件。 ```java // Fruit.java import java.io.Serializable; public class Fruit implements Serializable { private String name; private double price; private int number; private String content; // 构造函数,getter和setter public Fruit(String name, double price, int number, String content) { this.name = name; this.price = price; this.number = number; this.content = content; } // getters and setters... } // FruitBiz.java import java.io.*; import java.util.ArrayList; public class FruitBiz { private ArrayList<Fruit> fruits; public FruitBiz() { fruits = new ArrayList<>(); } // 展示所有数据 public void show() { for (Fruit fruit : fruits) { System.out.println("Name: " + fruit.getName() + ", Price: " + fruit.getPrice()); } } // 添加数据 public void add(Fruit fruit) { fruits.add(fruit); } // 查询名称数量 public int countByName(String name) { return fruits.stream().filter(f -> f.getName().equals(name)).count(); } // 按价格降序展示 public void sortByPriceDesc() { fruits.sort((a, b) -> Double.compare(b.getPrice(), a.getPrice())); show(); } // 保存到磁盘 public void saveToDisk(String fileName) { try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(fileName))) { oos.writeObject(fruits); } catch (IOException e) { e.printStackTrace(); } } // 从磁盘加载 public void loadFromDisk(String fileName) { try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(fileName))) { fruits = (ArrayList<Fruit>) ois.readObject(); } catch (IOException | ClassNotFoundException e) { e.printStackTrace(); } } } // TestFruit.java public class TestFruit { public static void main(String[] args) { FruitBiz biz = new FruitBiz(); // 添加水果 Fruit apple = new Fruit("Apple", 5.99, 100, "Fresh"); biz.add(apple); // 展示所有水果 biz.show(); // 查看特定水果数量 int appleCount = biz.countByName("Apple"); System.out.println("Apple count: " + appleCount); // 按价格降序展示 biz.sortByPriceDesc(); // 保存到磁盘 biz.saveToDisk("fruit.bin"); // 退出 biz.loadFromDisk("fruit.bin"); biz.show(); } } ``` 这个代码实现了基本的功能需求,你可以根据实际需求进行调整和优化。请确保在运行这段代码之前,已经创建了一个名为"fruit.bin"的文件,以便测试保存和加载功能。 ######[AI写代码神器 | 683点数解答 | 2024-06-19 12:48:33]
- Python 实战:统计学生成绩与大学类型数量,附代码及注意点(字节豆包 | 388点数解答 | 2025-05-09 10:52:51)266
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)429
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)330
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1212
- Express 应用创建与数据查询 API 实现:附代码示例与注意要点(字节豆包 | 387点数解答 | 2024-12-05 09:09:59)236
- 课程成绩统计程序 3:从继承到组合,解锁灵活开发新姿势!(字节豆包 | 2064点数解答 | 2025-12-04 10:47:33)97
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)302
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)323
- Python+Pygame:打造酷炫科幻风格生日快乐动画代码!(DeepSeek | 1528点数解答 | 2025-06-23 15:00:40)163
- 超酷炫!用HTML打造科幻风生日快乐祝福网页(DeepSeek | 2235点数解答 | 2025-06-23 15:03:49)184
- "Java Code: Uncovering Stock Statistics through CSV File Reading"(字节豆包 | 66点数解答 | 2024-11-13 15:31:04)339
- 深度剖析:黑盒、白盒、单元、集成、系统与验收测试的区别与联系 (百度文心 | 424点数解答 | 2023-11-09 18:24:11)314