Любая идея, почему метод не удалось проверить? - PullRequest
0 голосов
/ 01 июня 2018

Любая идея, почему метод isValidPassword () не выполняет проверку.Даже если длина пароля меньше 6 или пароль не может быть проверен специальными символами.

if(!SoccerUtils.isValidPassword(password)){
    out.print("<p style=\"color:red\">Password must be at least 6 characters long</p>");               
    RequestDispatcher rd = request.getRequestDispatcher("register.jsp");
    rd.include(request, response);              
    } else{          
        //Do some action here        
        }

Здесь я вызываю метод isValidPassword (), в этом методе я проверяю два условия (a), если длина пароля меньше 6, затем возвращает false, в противном случае - true.Точно так же (b) если «пароль» не имеет буквы или цифра возвращает false, в противном случае возвращает true.Оба случая не подтверждаются.Могу ли я получить один возврат для обоих случаев в isValidPassword ()?

public static boolean isValidPassword(String password) {        
        if (password.length()< 6  ) {
            return false;
        }

        for(int i=0; i<password.length(); i++) {
            if(!Character.isLetterOrDigit((password.charAt(i)))) {
                return false;
            }

        }

        return true;
}

1 Ответ

0 голосов
/ 01 июня 2018

Аналогично (b) если в «пароле» нет буквы или цифры возвращают false, в противном случае возвращают true.

То, что вы проверяете, отличается от того, что это требование 1 состояний.Ваш код на самом деле проверяет, что все символы являются буквой или цифрой.

Чтобы понять, что делает ваш код, я предлагаю вам либо выполнить его вручную, либо использовать отладчик, чтобы посмотреть, что он делает.

Попробуйте это на следующем примере: «Passw0rd!», Который (по моим прочтениям требований) должен быть действительным паролем.(Его длина> 6, и он содержит букву и цифру.)


Могу ли я получить один возврат для обоих случаев в isValidPassword ()?

Вы могли бы ... но это усложнит код!


1 - Я подозреваю, что вы скопировали это требование неправильно.Требование (б) грамматически неверно.Эта грамматическая ошибка вносит двусмысленность в то, что на самом деле означает это предложение ... на английском языке.

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