【发布时间】:2022-10-24 22:18:30
【问题描述】:
所以我是 XML/Android 的初学者,并试图在 Android Studio 中制作密码检查器。从逻辑上和句法上讲,这似乎对我有用,但它只调用第一个 Toast,无论密码中是否有大写字母。
boolean checkPasswordComplexity(String pw) {
boolean foundUpperCase, foundLowerCase, foundNumber, foundSpecial;
foundUpperCase = foundLowerCase = foundNumber = foundSpecial = false;
char c = 0;
for (int i = 0; i < pw.length(); i++) {
c = pw.charAt(i);
if(!Character.isUpperCase(c)) {
Toast.makeText(getApplicationContext(),"Missing an upper case letter!", Toast.LENGTH_LONG).show();
return false;
} else if (!Character.isLowerCase(c)) {
Toast.makeText(getApplicationContext(),"Missing a lower case letter!", Toast.LENGTH_LONG).show();
return false;
} else if (!Character.isDigit(c)) {
Toast.makeText(getApplicationContext(),"Missing a number!", Toast.LENGTH_LONG).show();
return false;
} else if (!isSpecialCharacter(c)) {
Toast.makeText(getApplicationContext(),"Missing a special character", Toast.LENGTH_LONG).show();
return false;
} else {
return true;
}
}
return true;
}
【问题讨论】:
-
XML 是如何涉及的?
-
我越看代码越困惑。它当前迭代一次并忽略“累积”标志 (
foundXxx)。如果找到 char 类型,您的意思是设置适当的标志true,然后最后确保所有标志都是true?
标签: java android-studio