【发布时间】:2014-04-27 15:29:44
【问题描述】:
我正在开发一个 ATM 模拟程序。目前我正在研究验证用户输入的方法。我有一个带有银行卡对象的数组列表,这些对象由我想要的 3 个变量组成 检查给定的 reknr 和 pasnr 组合是否与我的 arraylist 中的任何 reknr 和 pasnr 组合与银行卡对象相等。如果 arraylist 包含给定的组合,则该方法必须返回 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;
}
但还是同样的问题。
【问题讨论】:
-
arraylist 中存储了什么?要与传递的参数进行比较的字符串?
-
良好的格式可以帮助您立即发现问题。
-
不确定是否错字,但您的 if 语句后缺少
{。 -
如果你总是有两个的组合并且你的名字是主键,你可以使用
Map<String,String>来解决这个更简单的问题。