Чтобы завершить все ответы, я подумал, что опубликую решение на основе регулярных выражений, которому действительно нужен только один лайнер:
public static boolean checkPass() {
return pass.matches("(?=.{10,}).*\\d.*\\d.*");
}
Используемый здесь шаблон регулярного выражения (включая ^
и $
якоря, которые добавляются String#matches()
):
^(?=.{10,}).*\d.*\d.*$
Этот шаблон утверждает, что длина составляет 10 или более, и что по крайней мере два символа пароля являются цифрами.