В вашем коде вы устанавливаете upPass
в 0, когда встречаете подстроку, которая не содержит цифр. Это пустых строки . Это происходит, когда пароль не начинается с цифры.
Вы должны игнорировать его, поскольку вам нужны только цифры.
Пример: abcd12356zz33
- при разделении с использованием регулярного выражения [a-zA-Z]+
вы получаете ""
, "123456"
и "33"
. Когда вы пытаетесь преобразовать первую пустую строку в число, вы получаете NumberFormatException
.
for(String pass : splitPass){
if (!pass.isEmpty()) {
try {
upPass = Integer.parseInt(pass);
System.out.println(upPass);
//Validate upPass for the combination of numbers
} catch (NumberFormatException e) {
throw e;
}
}
}
checkPassword("abcd12356zz33")
отпечатки
12356
33