 基础题(每道题约 3~5 分钟) (1) 创建商品类型枚举,食品、电子产品 (2) 创建商品类:商品名称、价格、进货时间、商品类型(枚举类型)  综合题(每道题约 5~7 分钟) (3) 创建管理类完成对集合的增删改查操作 1) 创建集合存入商品,泛型正确 2)创建添加方法: i. 将商品添加到集合中 ii. 使用集合处理如果商品名称和价格相同不能添加到集合中 3) 创建修改方法,根据商品名称,将价格打 9 折 4) 创建查询方法,使用迭代器显示所有商品信息,能正常输出商品类型 5)

时间: 2023-11-28 11:51:39 浏览: 35
基础题: (1) 商品类型枚举的创建: ``` public enum ProductType { FOOD, ELECTRONICS } ``` (2) 商品类的创建: ``` public class Product { private String name; private double price; private Date purchaseDate; private ProductType type; public Product(String name, double price, Date purchaseDate, ProductType type) { this.name = name; this.price = price; this.purchaseDate = purchaseDate; this.type = type; } // getters and setters } ``` 综合题: (3) 商品管理类的创建: ``` import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class ProductManager { private List<Product> products = new ArrayList<>(); // 添加商品 public void addProduct(Product product) { // 判断商品是否已经存在 for (Product p : products) { if (p.getName().equals(product.getName()) && p.getPrice() == product.getPrice()) { return; } } products.add(product); } // 修改商品价格 public void updateProduct(String name) { for (Product p : products) { if (p.getName().equals(name)) { p.setPrice(p.getPrice() * 0.9); } } } // 查询所有商品信息 public void showProducts() { Iterator<Product> iterator = products.iterator(); while (iterator.hasNext()) { Product p = iterator.next(); System.out.println("Name: " + p.getName() + ", Price: " + p.getPrice() + ", Type: " + p.getType()); } } } ``` 在这个商品管理类中,我们使用了一个集合来存储商品信息。在添加商品时,我们先判断集合中是否已经存在同名同价商品,如果是则不进行添加操作。在修改商品价格时,我们通过传入商品名称来找到对应的商品,并将其价格打 9 折。在查询商品信息时,我们使用迭代器遍历集合,并输出商品的名称、价格和类型。 注意:上述代码没有包含 setter 和 getter 方法,需要自行添加。

相关推荐

最新推荐

recommend-type

2020 年TI 杯大学生电子设计竞赛 坡道行驶电动小车(C 题)

坡道用长、宽约 1m 的细木工板制作,允许板上有木质本色及 自然木纹。木工板表面铺设画有 1cm×1cm 黑白间隔的纸条(以下简称为标记线) 作为路线指示;标记线起始段为直线,平行于木板两边;标记线在坡顶转向 90°...
recommend-type

java面试题20道(适合工作1~3年)(附答案).docx

多线程创建有几种方式?GC是什么? 为什么要有GC?thorw与thows的区别? Log4j常用的四个日志级别是哪四个?优先级顺序是怎样的?拦截器和过滤器有什么区别?程序中是先执行拦截器还是过滤器?请描述Mybatis结果集中...
recommend-type

Android期末复习选择题100道

Android 四大组件 选择题 选择题 1. 下面不是Android四大组件之一的( B ) A. Activity B.Intent C. Service D. ContentProvider 2. 下面关于广播叙述错误的是(A) A. 广播是Android四大组件之一 B. ...
recommend-type

2020 年TI 杯大学生电子设计竞赛 E 题:放大器非线性失真研究装置

2020 年TI 杯大学生电子设计竞赛 E 题:放大器非线性失真研究装置 设计并制作一个放大器非线性失真研究装置,其组成如图1所示,图中的 和 为 1×2切换开关,晶体管放大器只允许有一个输入端口和一个输出端口。
recommend-type

2020 年TI 杯大学生电子设计竞赛 单相在线式不间断电源(B 题)

2020 年TI 杯大学生电子设计竞赛 单相在线式不间断电源(B 题)计并制作交流正弦波在线式不间断电源(UPS),结构框图如图 1 所示
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。