Java玩具管理程序价格区间筛选功能实现求助
完成Java玩具管理程序的价格区间筛选功能
以下是实现价格区间筛选逻辑的完整SearchMenu方法代码,同时补充了输入合法性校验与友好的结果提示:
private static void SearchMenu() { System.out.println("按价格搜索 - \n" + "请输入最低价格:"); int minimumPrice = scanner.nextInt(); System.out.println("请输入最高价格:"); int maximumPrice = scanner.nextInt(); // 校验价格区间合法性 if (minimumPrice > maximumPrice) { System.out.println("错误:最低价格不能高于最高价格,请重新操作。"); MainMenu(); return; } ArrayList<Toy> filteredToys = new ArrayList<>(); // 遍历筛选符合价格范围的玩具 for (Toy toy : toys) { int toyCost = toy.getCost(); if (toyCost >= minimumPrice && toyCost <= maximumPrice) { filteredToys.add(toy); } } // 展示筛选结果 if (filteredToys.isEmpty()) { System.out.println("当前没有符合该价格区间的玩具。"); } else { System.out.println("符合价格区间的玩具列表:"); for (int i = 0; i < filteredToys.size(); i++) { System.out.println((i + 1) + ". " + filteredToys.get(i)); } } // 返回主菜单 MainMenu(); }
关键逻辑说明
- 输入合法性校验:先判断用户输入的最低价格是否高于最高价格,若不合法则提示错误并返回主菜单,避免无效筛选
- 遍历筛选:通过增强
for循环遍历玩具列表,利用Toy类的getCost()方法获取价格,判断是否落在输入的区间内 - 结果展示:统一收集符合条件的玩具后展示,空结果时给出明确提示,提升用户体验
- 流程统一:筛选完成后调用
MainMenu()回到主菜单,保持与其他功能模块的交互流程一致
内容的提问来源于stack exchange,提问作者Khojimurod
相关产品推荐
相关产品推荐

