从键盘录入一个字符串作为密码,密码长度不少于八位数,打印密码强度。 int n1 = 0; // 字母个数 int n2 = 0; // 数字个数 int n3 = 0; // 其他字符的个数 判断密码强度:只有一类字符,则密码弱;有两类字符,密码一般;有三类字符,密码强
时间: 2024-02-20 12:57:26 浏览: 73
好的,以下是代码实现:
```
import java.util.Scanner;
public class PasswordStrength {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入密码:");
String password = sc.nextLine();
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' || c >= 'A' && c <= 'Z') {
n1++;
} else if (c >= '0' && c <= '9') {
n2++;
} else {
n3++;
}
}
// 判断密码强度
if (password.length() < 8) {
System.out.println("密码长度不少于8位数,请重新输入!");
} else if (n3 == 0 && (n1 == 0 || n2 == 0)) {
System.out.println("密码弱");
} else if ((n1 != 0 && n2 != 0 && n3 == 0)
|| (n1 != 0 && n2 == 0 && n3 != 0)
|| (n1 == 0 && n2 != 0 && n3 != 0)) {
System.out.println("密码一般");
} else if (n1 != 0 && n2 != 0 && n3 != 0) {
System.out.println("密码强");
}
}
}
```
这段代码实现了从键盘录入一个字符串作为密码,统计密码中字母、数字和其他字符的个数,并根据统计结果判断密码强度,输出相应的信息。注意,当密码长度小于8位数时,会提示重新输入密码。
阅读全文