Java 密码校验:循环检查字母、数字和长度
如果要循环检查用户输入的密码是否同时包含字母和数字,并且密码长度至少为8个字符,可以使用以下的Java代码示例:
import java.util.Scanner;
public class PasswordChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String password;
do {
System.out.print('请输入密码:');
password = scanner.nextLine();
if (password.length() < 8) {
System.out.println('密码长度至少为8个字符!');
} else if (!containsLetterAndDigit(password)) {
System.out.println('密码必须同时包含字母和数字!');
}
} while (password.length() < 8 || !containsLetterAndDigit(password));
System.out.println('密码有效!');
}
public static boolean containsLetterAndDigit(String password) {
boolean hasLetter = false;
boolean hasDigit = false;
for (char c : password.toCharArray()) {
if (Character.isLetter(c)) {
hasLetter = true;
} else if (Character.isDigit(c)) {
hasDigit = true;
}
if (hasLetter && hasDigit) {
return true;
}
}
return false;
}
}
这段代码会提示用户输入密码,如果密码长度小于8或者不同时包含字母和数字,则会显示相应的错误信息。只有当密码满足要求时,才会输出'密码有效!'。循环会一直进行,直到用户输入一个有效密码为止。containsLetterAndDigit 方法用于检查密码是否同时包含字母和数字。
原文地址: https://www.cveoy.top/t/topic/nAs 著作权归作者所有。请勿转载和采集!