java从键盘录入一个字符串作为密码,打印密码强度。 int n1 = 0; // 字母个数 int n2 = 0; // 数字个数 int n3 = 0; // 其他字符的个数 判断密码强度:只有一类字符,则密码弱;有两类字符,密码一般;有三类字符,密码强,前提密码长度为八位数
时间: 2024-02-20 21:56:28 浏览: 24
好的,根据你的要求,我可以给出以下 Java 代码,可以实现从键盘读入密码,并根据密码的字符种类和长度来判断密码强度:
```java
import java.util.Scanner;
public class PasswordStrength {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入密码:");
String password = scanner.nextLine();
int len = password.length();
int n1 = 0, n2 = 0, n3 = 0;
for (int i = 0; i < len; i++) {
char ch = password.charAt(i);
if (ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z') {
n1++;
} else if (ch >= '0' && ch <= '9') {
n2++;
} else {
n3++;
}
}
if (len >= 8 && n1 > 0 && n2 > 0 && n3 > 0) {
System.out.println("密码强");
} else if (len >= 8 && (n1 > 0 && n2 > 0 || n1 > 0 && n3 > 0 || n2 > 0 && n3 > 0)) {
System.out.println("密码一般");
} else {
System.out.println("密码弱");
}
}
}
```
这段代码先使用 `Scanner` 类从键盘读入一个字符串作为密码,然后使用一个循环遍历字符串中每个字符,并统计字母、数字和其他字符的个数。最后根据密码的字符种类和长度来判断密码强度,并输出相应的提示信息。
需要注意的是,这里的判断条件是:密码长度大于等于 8,且字母、数字和其他字符的个数至少有两种以上。这样才能判断密码的强度。如果只有一种字符,那么密码一定是弱的。