【检测密码】一些网站设定了一些指定密码的规则。编写一个方法,检测一个字符串是否是合法的密码。假定密码规则如下: w 密码必须至少有8个字符。 w 密码只能包括数字和字母。 w 密码必须至少有2个数字。 用 java编写一个程序,提示用户输入密码,如果该密码符合规则就显示“Valid Password”,否则显示“Invalid Password”。
时间: 2023-11-30 09:19:07 浏览: 29
可以使用正则表达式来检测一个字符串是否符合密码规则。以下是一个实现该功能的 Java 程序:
```java
import java.util.Scanner;
public class PasswordChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入密码:");
String password = scanner.nextLine();
if (isPasswordValid(password)) {
System.out.println("Valid Password");
} else {
System.out.println("Invalid Password");
}
}
private static boolean isPasswordValid(String password) {
// 密码必须至少有8个字符,只能包括数字和字母,必须至少有2个数字
String regex = "^(?=.*[0-9].*[0-9])[a-zA-Z0-9]{8,}$";
return password.matches(regex);
}
}
```
程序中使用了 `Scanner` 类来接收用户输入的密码字符串,然后调用 `isPasswordValid` 方法来检测该字符串是否符合密码规则。`isPasswordValid` 方法中使用了正则表达式来匹配密码规则。如果字符串符合规则,则返回 `true`,否则返回 `false`。