在达到最大用户尝试次数之前达到System.exit(0)

时间:2017-11-16 12:16:44

标签: java

我可能已经将自己与逻辑混淆了一段时间,我可以使用一些帮助。所以我创建了这个函数来返回一个凭证#(大小是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);
               }                                        
        }

1 个答案:

答案 0 :(得分:0)

你应该在while循环中从用户那里获得新的输入。实际上,您似乎只获得了一次输入,然后使用相同的输入运行循环3次。