我可能已经将自己与逻辑混淆了一段时间,我可以使用一些帮助。所以我创建了这个函数来返回一个凭证#(大小是4位数)。前提条件是输入的两个字符必须正确,并且在它们各自的位置下方,应用程序显示其余的凭证数字(与记录中的凭证相比)。
我正在向用户3尝试使用仅有的两个已知凭证数字来搜索凭证。三次尝试后,如果凭证不存在。我将锁定用户并使用System.exit(0)关闭应用程序。
但是,当try = 3时,System.exit(0)会执行。看来我无法控制循环。
int attempts = 3;
while (attempts != 0){
if(VoucherNumber.charAt(0) == VoucherRecord.charAt(0) &&
VoucherNumber.charAt(1) == VoucherRecord.charAt(1))
System.out.println("Reveal all digits");
}
else if(VoucherNumber.charAt(0) == VoucherRecord.charAt(0) &&
VoucherNumber.charAt(2) == VoucherRecord.charAt(2) ){
System.out.println("Reveal all digits");
}
else{
System.out.println("Reveal all digits");
attempts--;
if (attempts == 0){
System.exit(0);
}
}
答案 0 :(得分:0)
你应该在while循环中从用户那里获得新的输入。实际上,您似乎只获得了一次输入,然后使用相同的输入运行循环3次。