从键盘录入一个字符串作为密码,打印密码强度。int n0= 0; 大写字母个数 int n1 =0; 小写字母个数 int n2=0 数字个数 int n3 = 0; 其他字符的个数 判断密码强度: 前提:长度不小于8: 只有·类字符,则密码弱; 有两类字符,密码一般: 有三类字符,密码强; 有四类字符,密码很强
时间: 2024-02-20 14:58:19 浏览: 118
好的,根据你的要求,我可以写一个简单的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.next();
int n0 = 0; // 大写字母个数
int n1 = 0; // 小写字母个数
int n2 = 0; // 数字个数
int n3 = 0; // 其他字符的个数
// 统计密码中各类字符的个数
for (int i = 0; i < password.length(); i++) {
char c = password.charAt(i);
if (c >= 'A' && c <= 'Z') {
n0++;
} else if (c >= 'a' && c <= 'z') {
n1++;
} else if (c >= '0' && c <= '9') {
n2++;
} else {
n3++;
}
}
// 判断密码强度并输出
if (password.length() < 8 || (n0 == 0 && n1 == 0 && n2 == 0) || (n0 == 0 && n1 == 0 && n3 == 0)
|| (n0 == 0 && n2 == 0 && n3 == 0) || (n1 == 0 && n2 == 0 && n3 == 0)) {
System.out.println("密码弱");
} else if ((n0 != 0 && n1 != 0 && n2 == 0 && n3 == 0) || (n0 == 0 && n1 != 0 && n2 != 0 && n3 == 0)
|| (n0 == 0 && n1 != 0 && n2 == 0 && n3 != 0) || (n0 != 0 && n1 == 0 && n2 != 0 && n3 == 0)
|| (n0 != 0 && n1 == 0 && n2 == 0 && n3 != 0) || (n0 == 0 && n1 == 0 && n2 != 0 && n3 != 0)) {
System.out.println("密码一般");
} else if ((n0 != 0 && n1 != 0 && n2 != 0 && n3 == 0) || (n0 != 0 && n1 != 0 && n2 == 0 && n3 != 0)
|| (n0 != 0 && n1 == 0 && n2 != 0 && n3 != 0) || (n0 == 0 && n1 != 0 && n2 != 0 && n3 != 0)) {
System.out.println("密码强");
} else {
System.out.println("密码很强");
}
}
}
```
你可以将代码复制到Java环境中运行,输入你想要判断强度的密码,程序会根据密码中字符的种类和长度,输出相应的密码强度。
阅读全文