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

Java对象数组循环查找异常:超市程序匹配客户姓名与PIN码问题

解决超市客户匹配循环查找的问题

我来帮你搞定这个循环查找客户对象的问题!先梳理下你现有代码里的几个小问题,再给你完整的实现方案:

现有代码的问题点

  • 增强for循环语法错误:你写的for (int swalayanTinyV2 sw1 : sw)多了多余的int,正确写法应该直接声明对象类型swalayanTinyV2
  • 变量拼写失误:代码里的limi...应该是你定义的limit,但其实用增强for循环遍历数组根本不需要额外的limit变量
  • 缺少核心匹配逻辑:还没编写判断当前对象姓名和PIN码是否与目标值匹配的代码

完整实现示例

假设你的swalayanTinyV2类已经有获取姓名和PIN码的getter方法(如果没有的话,需要先添加),以下是正确的查找逻辑:

// 先定义要查找的目标姓名和PIN码
String targetName = "Kevin";
int targetPin = 240898;

// 初始化匹配结果对象
swalayanTinyV2 matchedCustomer = null;

// 遍历数组查找匹配项
for (swalayanTinyV2 customer : sw) {
    // 对比当前客户的姓名和PIN码是否匹配目标值
    if (customer.getNama().equals(targetName) && customer.getPin() == targetPin) {
        matchedCustomer = customer;
        break; // 找到匹配项后立刻退出循环,提升效率
    }
}

// 处理查找结果
if (matchedCustomer != null) {
    System.out.println("找到匹配客户:" + matchedCustomer.getNama());
    // 这里可以添加后续业务逻辑,比如查看客户余额、执行交易等
} else {
    System.out.println("未找到匹配的客户信息");
}

补充:确保你的swalayanTinyV2类有必要的getter方法

如果你的类里还没有获取属性的方法,需要补充以下代码(和你已有的构造方法配合使用):

public class swalayanTinyV2 {
    private String nama;
    private String noHp;
    private double saldo;
    private int pin;

    // 你已有的构造方法
    public swalayanTinyV2(String nama, String noHp, double saldo, int pin) {
        this.nama = nama;
        this.noHp = noHp;
        this.saldo = saldo;
        this.pin = pin;
    }

    // 添加必要的getter方法
    public String getNama() {
        return nama;
    }

    public int getPin() {
        return pin;
    }

    // 其他属性的getter/setter可以按需添加
}

这样修改后,就能顺利实现基于姓名和PIN码查找对应客户对象的功能啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:24:52