【发布时间】:2017-09-24 23:15:42
【问题描述】:
- 密码至少应包含 8 个字符。
- 密码应由数字和字母组成。
- 不允许使用特殊字符。
此代码的输出始终是“无效密码” 应该修改什么以获得正确的输出?
import java.util.*;
import java.lang.String;
import java.lang.Character;
public class password {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Please enter a Password: ");
String password = input.next();
if (isValid(password)) {
System.out.println("Valid Password");
} else {
System.out.println("Invalid Password");
}
}
public static boolean isValid(String password) {
if (password.length() < 8) {
return false;
} else {
for(int i = 0; i <= password.length() - 1; i++) {
char c = password.charAt(i);
if (!Character.isLetter(c) | !Character.isDigit(c)) {
return false;
}
}
}
return true;
}
}
【问题讨论】:
-
在调试器中逐行检查代码。想想逻辑。检查您调用的函数返回什么。你会找到的。
-
回答:你的程序应该被修改以获得正确的输出。
标签: java