小编Ale*_*kov的帖子

混淆了递归方法和循环

我写了下面的方法,但它无法正常工作.

即使引脚不正确,该程序也会在Main类中执行下一个方法.

主要的想法是当你的引脚正确时,方法将完成,程序转到下一个方法.如果PIN不正确,则会有3次.如果所有努力都是错误的,那么该计划将会结束.因此,您的卡将被阻止.请给我一个平和的建议.

public boolean authenticity(short pin)  {
       if (pin == 1234) {
           System.out.println("PIN is correct");
           System.out.println("Card is active for operation!");
           return true;
       } else {
           pin = sc.nextShort();
           for (int i = 1; i >= 3; i++) {
               System.out.println("PIN isn't correct! You have " +i +"effort(s)");
               return authenticity(pin);  // recursion
           }
       }
       return false;
  }
Run Code Online (Sandbox Code Playgroud)

*在Main类中,该方法根据以下命令执行:authenticity(sc.nextShort());

java methods recursion for-loop

4
推荐指数
1
解决办法
154
查看次数

标签 统计

for-loop ×1

java ×1

methods ×1

recursion ×1