Программа продолжается, когда она должна прерваться - PullRequest
0 голосов
/ 26 октября 2018

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

    int y = 0;
    do {
        String user = user(scan);
        String pass = pass(scan);
        boolean b = check(user, pass);
        if (b = false) {
            y+=1;
        } 
        if (y == 3) {
            System.out.println("Too many incorrect tries");
            break;
        }
    } while (y != 0);

Вот пользовательский метод:

    public static String user(Scanner scan) {
        System.out.print("Enter your username: ");
        String username = cipher(scan.nextLine(), 5);
        return username;
    }

Вот метод передачи:

    public static String pass(Scanner scan) {
        System.out.print("Enter your password: ");
        String pass = cipher(scan.nextLine(), 5);
        return pass;
    }

Вот метод проверки:

    public static boolean check(String username, String password) {
        boolean valid = false;
        if (username.equals("Ofhp") && password.equals("ofhpnsjq8")) {
            valid = true;
    } else if (username.equals("Fqnhnf") && password.equals("nqtajofhp79")){
        valid = true;
    } else if (username.equals("Idqfs") && password.equals("hmzggdgzssd")) {
        valid = true;
    } else {
        valid = false;
    }
    return valid;
}

1 Ответ

0 голосов
/ 26 октября 2018

Здесь вам может понадобиться двойной знак равенства:

if (b = false) {
    y+=1;
}

РЕДАКТИРОВАТЬ: или просто

if(!b) {
...