方法检查Java中的密码不工作
我正在尝试编写一个方法,如果字符串是或不是CodeHS中的有效密码,则返回该方法 它至少需要八个字符长,并且只能有字母和数字 在分级机中,除了方法检查Java中的密码不工作,java,passwords,Java,Passwords,我正在尝试编写一个方法,如果字符串是或不是CodeHS中的有效密码,则返回该方法 它至少需要八个字符长,并且只能有字母和数字 在分级机中,除了密码检查(“codingisawesome”)和密码检查(“QWERTYUIOP”)之外,它通过了所有测试。 以下是我目前掌握的情况: public boolean passwordCheck(String password) { if (password.length() < 8) { return false;
密码检查(“codingisawesome”)
和密码检查(“QWERTYUIOP”)
之外,它通过了所有测试。
以下是我目前掌握的情况:
public boolean passwordCheck(String password)
{
if (password.length() < 8)
{
return false;
}
else
{
char c;
int count = 0;
for (int i = 0; i < password.length(); i++)
{
c = password.charAt(i);
if (!Character.isLetterOrDigit(c))
{
return false;
} else if (Character.isDigit(c))
{
count++;
}
}
if (count < 2)
{
return false;
}
}
return true;
}
公共布尔密码检查(字符串密码)
{
if(password.length()<8)
{
返回false;
}
其他的
{
字符c;
整数计数=0;
对于(int i=0;i
如果有人能帮忙,我将不胜感激。谢谢。假设您的要求如前所述 它至少需要八个字符长,并且只能有字母和数字 那么就不需要计算数字了。只需检查密码是否为最小长度,然后在每个字符上循环,如果任何字符不是字母或数字,则返回false。像
public boolean passwordCheck(String password) {
if (password != null && password.length() >= 8) {
for (char ch : password.toCharArray()) {
if (!Character.isLetterOrDigit(ch)) {
return false;
}
}
return true;
}
return false;
}
假设您的要求如所述 它至少需要八个字符长,并且只能有字母和数字 那么就不需要计算数字了。只需检查密码是否为最小长度,然后在每个字符上循环,如果任何字符不是字母或数字,则返回false。像
public boolean passwordCheck(String password) {
if (password != null && password.length() >= 8) {
for (char ch : password.toCharArray()) {
if (!Character.isLetterOrDigit(ch)) {
return false;
}
}
return true;
}
return false;
}
尝试使用模式的方法(这比循环更简单):
关于正则表达式的体面教程(这就是A-Z魔力的来源):尝试使用模式的方法(这比循环更简单):
关于正则表达式的体面教程(这就是A-Z魔法的来源):这些测试失败,因为您的代码检查密码必须至少有两位数字:-
if(计数<2)
{
返回false;
}
而您的测试字符串没有任何。删除这段代码,它应该可以工作。有关更好的方法,请参阅其他答案。这些测试失败,因为您的代码检查密码必须至少包含两位数字:-
if(计数<2)
{
返回false;
}
而您的测试字符串没有任何。删除这段代码,它应该可以工作。有关更好的方法,请参阅其他答案。您确定这些要求吗?大写字母和小写字母都没有?您正在检查密码是否至少有两位数字。“它需要至少八个字符长,只能有字母和数字”没有这样的要求。根据此规范,这两个密码都应该是有效的,但您拒绝它们是因为它们没有足够的数字来满足您的口味。从您的代码来看,您似乎要求至少有两个数字,但您没有提到,您确定这些要求吗?大写字母和小写字母都没有?您正在检查密码是否至少有两位数字。“它需要至少八个字符长,只能有字母和数字”没有这样的要求。根据此规范,这两个密码都应该是有效的,但您拒绝它们是因为它们没有足够的数字来满足您的口味。从您的代码来看,您似乎要求至少有2个数字,但您没有提到that@Kartik是的,我加的。@Kartik是的,我加的。
if (count < 2)
{
return false;
}