我正在研究 ATM 模拟程序。目前我正在研究验证用户输入的方法。我有一个带有银行卡对象的数组列表,这些对象由我想要的 3 个变量组成 检查给定的 reknr 和 pasnr 组合是否与我的 arraylist 中带有银行卡对象的任何 reknr 和 pasnr 组合相等。如果数组列表包含给定的组合,则该方法必须返回 true,否则必须返回 false。
public static boolean reknrpasnrCheckOke(String reknr,String pasnr){
for (int i=0; i<rekpaspin.size(); i++){
if (rekpaspin.get(i).reknr.equals(reknr) && rekpaspin.get(i).pasnr.equals(pasnr))
return true;
}
return false;
}
}
不管输入什么总是返回false,如何解决?
编辑:
我忘记了 if 之后的 { 所以我将代码更改为:
public static boolean reknrpasnrCheckOke(String reknr,String pasnr){
for (int i=0; i<rekpaspin.size(); i++){
if (rekpaspin.get(i).reknr.equals(reknr) && rekpaspin.get(i).pasnr.equals(pasnr)){
return true;
}
}
return false;
}
还是一样的问题。
最佳答案
您只检查列表中的第一项。如果不匹配,则立即返回 false
,而不检查其余项目。
将 return false;
移到 for
循环结束之后。
关于java - ArrayList 检查同一索引处两个对象值的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22538858/