You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java应用如何解决无效产品码错误提示重复输出的问题

方案1:标记位+提前终止循环(全Java版本兼容)

该方案兼容性最强,同时匹配到目标后直接终止循环,避免无效遍历:

static void searchProduct() {
    System.out.print("Please enter product code to search: ");
    String searchTerm = in.nextLine().toUpperCase();
    boolean productFound = false;

    for (int i = 0; i < report.size(); i++) {
        if (report.get(i).code.equals(searchTerm)) { 
            // 此处填写展示产品详情的代码
            productFound = true;
            break; // 匹配到目标后直接结束循环,无需继续遍历
        }    
    } 

    // 循环结束后统一判断是否未匹配到产品
    if (!productFound) {
        System.out.println("The product cannot be located. Invalid Product");
    }

    // 此处填写提示用户返回菜单或退出的代码
}

方案2:Stream API实现(Java 8及以上版本适用)

利用Java 8引入的Stream API可以简化代码,逻辑更清晰:

static void searchProduct() {
    System.out.print("Please enter product code to search: ");
    String searchTerm = in.nextLine().toUpperCase();

    // 遍历查找第一个匹配的产品
    Optional<Product> matchedProduct = report.stream()
            .filter(item -> item.code.equals(searchTerm))
            .findFirst();

    if (matchedProduct.isPresent()) {
        // 调用matchedProduct.get()获取产品对象,展示详情
    } else {
        System.out.println("The product cannot be located. Invalid Product");
    }

    // 此处填写提示用户返回菜单或退出的代码
}

两种方案都可以保证无效产品提示仅输出一次,且相比原逻辑减少了不必要的遍历步骤,执行效率更高。

内容的提问来源于stack exchange,提问作者Brad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 07:06:04