如果要循环检查用户输入的密码是否同时包含字母和数字,并且密码长度至少为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 方法用于检查密码是否同时包含字母和数字。

Java 密码校验:循环检查字母、数字和长度

原文地址: https://www.cveoy.top/t/topic/nAs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录