В любом случае, я мог бы остановить цикл - PullRequest
0 голосов
/ 06 января 2019

Когда я пытаюсь вставить правильный проход, который равен 1234 «Доступ разрешен». Однако, когда я пытаюсь вставить его после нескольких попыток, он выдаст «Отказано в доступе», чего не должно быть.

import java.util.*;

class access {
    void granted () {
        System.out.println("Access Granted!"); 
    }

    void denied() {
        System.out.println("Access Denied!");
        System.out.println("Please try again! Re-enter your passcode: ");
    }

    void ct1 () {
        System.out.println("System is disabling now due to multiple attempts made");
    }
}

class passEnter extends Passcode {
    void Enter1 () {
        Scanner sc = new Scanner(System.in);
        super.pass = sc.nextInt();
    }
}

public class Passcode {

    static int code = 1234;
    static int pass;

    public static void main (String [] agrs) {

        access access = new access();
        passEnter reEnter = new passEnter();
        int ct = 0;

        System.out.println("Enter your passcode ");
        reEnter.Enter1();

        // This is where my problem begins...
        if (pass != code) {
            while (ct < 2) {
                ct++;
                access.denied();
                reEnter.Enter1();
            } 
            access.ct1();
        } 
        else {
            access.granted();
        }
    }
}

1 Ответ

0 голосов
/ 06 января 2019

Если вы ввели неправильный пароль один раз, вы вводите цикл while. Вы просите следующую запись в этом цикле. Поэтому цикл повторяется. Вот почему вы никогда не можете войти в блок else, в котором вы говорите, предоставлен, после однократного ввода неверного пароля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...