Java代码实现优惠券多维度查询、添加、修改与删除操作
下面是可能的Java代码实现: ```java import java.util.ArrayList; import java.util.List; public class Coupon { private int id; private String name; private int price; private String status; private String user; // getter and setter methods public static void main(String[] args) { // 假设优惠券信息存储在一个List中 List<Coupon> coupons = new ArrayList<>(); // 1. 查询出所有的优惠券 // 可以直接打印coupons列表 // 2. 查询出tony的有效优惠券 for (Coupon coupon : coupons) { if (coupon.getUser().equals("tony") && coupon.getStatus().equals("valid")) { System.out.println("优惠券ID: " + coupon.getId() + ", 优惠券名称: " + coupon.getName() + ", 优惠价格: " + coupon.getPrice() + ", 优惠状态: " + coupon.getStatus()); } } // 3. 查询出优惠券优惠价格>=30的已使用的优惠券 for (Coupon coupon : coupons) { if (coupon.getPrice() >= 30 && coupon.getStatus().equals("used")) { System.out.println("优惠券ID: " + coupon.getId() + ", 优惠券名称: " + coupon.getName() + ", 优惠价格: " + coupon.getPrice() + ", 优惠状态: " + coupon.getStatus()); } } // 4. 查询出tony共领取了多少优惠券 int count = 0; for (Coupon coupon : coupons) { if (coupon.getUser().equals("tony")) { count++; } } System.out.println("tony共领取了 " + count + " 张优惠券"); // 5. 查询出tony还有多少优惠券未使用 for (Coupon coupon : coupons) { if (coupon.getUser().equals("tony") && coupon.getStatus().equals("valid")) { System.out.println("优惠券ID: " + coupon.getId() + ", 优惠券名称: " + coupon.getName() + ", 优惠价格: " + coupon.getPrice() + ", 优惠状态: " + coupon.getStatus()); } } // 6. 显示tony 还有多少优惠券未使用,多少优惠券已使用,多少优惠券已失效 int validCount = 0; int usedCount = 0; int expiredCount = 0; for (Coupon coupon : coupons) { if (coupon.getUser().equals("tony")) { if (coupon.getStatus().equals("valid")) { validCount++; } else if (coupon.getStatus().equals("used")) { usedCount++; } else if (coupon.getStatus().equals("expired")) { expiredCount++; } } } System.out.println("tony还有 " + validCount + " 张优惠券未使用," + usedCount + " 张优惠券已使用," + expiredCount + " 张优惠券已失效"); // 7. 查询出katy 已失效的优惠券的信息 for (Coupon coupon : coupons) { if (coupon.getUser().equals("katy") && coupon.getStatus().equals("expired")) { System.out.println("用户名: " + coupon.getUser() + ", 优惠券ID: " + coupon.getId() + ", 优惠券名称: " + coupon.getName() + ", 优惠券价格: " + coupon.getPrice() + ", 优惠券状态: " + coupon.getStatus()); } } // 8. 查询出katy 在下周可以使用的优惠券的信息 // 假设有一个方法getExpiredCouponsByUserAndWeek(String username, int week)来实现这一功能 // 9. 查询出新人优惠券已经被领取了多少次 int newcomerCount = 0; for (Coupon coupon : coupons) { if (coupon.getUser().startsWith("newcomer")) { newcomerCount++; } } System.out.println("新人优惠券已经被领取了 " + newcomerCount + " 次"); // 10. 添加一个新的优惠券记录在表中 // 假设有一个方法addCoupon(Coupon coupon)来实现这一功能 // 11. 修改优惠券id=2的记录 for (Coupon coupon : coupons) { if (coupon.getId() == 2) { coupon.setPrice(50); // 假设有一个方法extendExpirationDate(int couponId, int days)来实现延长失效时间的功能 extendExpirationDate(coupon.getId(), 3); } } // 12. 删除tony 已过期且优惠价格<20元的优惠券记录 for (Coupon coupon : new ArrayList<>(coupons)) { if (coupon.getUser().equals("tony") && coupon.getStatus().equals("expired") && coupon.getPrice() < 20) { coupons.remove(coupon); } } } // 假设有一个方法来实现延长失效时间的功能 private static void extendExpirationDate(int couponId, int days) { // 实现延长优惠券失效时间的功能 } } ``` ######[AI写代码神器 | 2984点数解答 | 2024-06-29 15:37:05]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)429
- Python实现Q老师成绩管理任务:修改与查看学生成绩(字节豆包 | 191点数解答 | 2025-12-20 20:55:41)98
- Python 代码助力 Q 老师高效管理班级学生成绩:修改与查看一键搞定(字节豆包 | 326点数解答 | 2025-12-27 20:48:12)104
- jQuery 实现动态操作 DOM:打造可增删任务的待办事项列表应用(百度文心 | 1015点数解答 | 2024-10-26 23:41:22)447
- jQuery 打造实用待办事项列表:输入添加、点击删除一步到位!(阿里通义 | 1139点数解答 | 2024-10-29 08:44:48)362
- jQuery 实现动态操作 DOM:打造带添加与删除功能的待办事项列表应用(阿里通义 | 687点数解答 | 2024-10-29 09:25:06)376
- jQuery 实战:打造可添加与删除任务的待办事项列表应用(字节豆包 | 499点数解答 | 2024-10-29 20:40:48)287
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)330
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1217
- Java顺序表源码深度解析:从内存布局到扩容机制与Windows实战指南(阿里通义 | 2528点数解答 | 2026-04-01 10:06:46)23
- 超全!员工数据集10+数据查询分析题目及Python代码实现(讯飞星火 | 645点数解答 | 2024-05-28 12:57:19)232
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)371