【发布时间】:2018-11-15 03:19:33
【问题描述】:
我正在尝试编写一个方法,如果字符串是或不是 CodeHS 中的有效密码,则返回该方法。
至少需要八个字符,并且只能有字母和数字。
在评分器中,它通过了除passwordCheck("codingisawesome") 和passwordCheck("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;
}
如果有人可以提供帮助,我将不胜感激。谢谢。
【问题讨论】:
-
您确定这些要求吗?大写和小写字母都没有?
-
您正在检查密码是否至少有两位数。 “至少需要八个字符,并且只能有字母和数字”没有这样的要求。根据这个规范,这两个密码都应该是有效的,但是你拒绝了它们,因为它们没有足够的数字来满足你的口味。
-
从您的代码看来,您要求至少有 2 位数字,但您没有提到这一点