【发布时间】:2019-11-26 19:38:33
【问题描述】:
所以我得到了一个练习题,要求编写一个方法,将字符串验证码与字符串 secretKey 字符购买字符进行比较。 int claimValue 也必须匹配。如果字符匹配,则返回 true,否则返回 false。
代码编译良好。但无论我运行什么测试,它总是返回 false。有人可以指导我哪里出错了吗?
public boolean verifyWin(int claimValue, String verificationCode, String secretKey) {
int prize = 0;
for (int i = 1; i <= verificationCode.length(); i++) {
if (verificationCode.charAt(i - 1) == secretKey.charAt(i - 1)) {
prize = prize + 1;
} else {
prize = prize - 1;
}
}
if (prize == claimValue) {
return true;
} else {
return false;
}
}
测试是:
//Test (1):
Lottery winner = new Lottery();
winner.setVerificationCode("HHHHHH");
winner.setSecretKey("HHHHHH");
winner.setClaimValue(1);
winner.verifyWin(1 , "HHHHHH", "HHHHHH");
returns false
//Test 2
Lottery winner = new Lottery();
winner.setVerificationCode("HHHH44");
winner.setSecretKey("HHHH44");
winner.setClaimValue(1);
winner.verifyWin(1 , "HHHH44", "HHHHH44");
returns false
【问题讨论】:
标签: java string for-loop increment charat