userexceptionexam.java

来自「Java程序设计实用教程源代码 本书源代码按章分别放置在不同的文件夹中,所有程」· Java 代码 · 共 51 行

JAVA
51
字号
import java.io.*;
//用户定义的异常,由Exception类派生
class UnSafePasswordException extends Exception {
  public UnSafePasswordException() {
    super("密码过于简单,安全密码的长度应大于6,且必须包含数字、大写字符和小写字母");
  }
  public UnSafePasswordException(String msg) {
    super(msg);
  }
}
public class UserExceptionExam {
//抛出异常的方法
  void checkPassword(String strPassword) throws UnSafePasswordException {
    if (strPassword.length() < 6)
      throw new UnSafePasswordException("密码长度太短");
    boolean bNumber = false;
    boolean bUpper = false;
    boolean bLower = false;
    for (int i = 0; i < strPassword.length(); i++) {
      if (bUpper && bLower && bNumber)
        break;
      if (strPassword.charAt(i) >= 'a' && strPassword.charAt(i) <= 'z')
        bLower = true;
      if (strPassword.charAt(i) >= 'A' && strPassword.charAt(i) <= 'Z')
        bUpper = true;
      if (strPassword.charAt(i) >= '0' && strPassword.charAt(i) <= '9')
        bNumber = true;
    }
    if (bUpper && bLower && bNumber){
    	System.out.println("密码是安全的");
      return;
    }
    else
      throw new UnSafePasswordException();
  }

  public static void main(String args[]) {
    UserExceptionExam obj = new UserExceptionExam();
    try {
      System.out.println("请输入密码: ");
      BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
      obj.checkPassword(stdin.readLine());
    }
    catch (UnSafePasswordException e) {
      System.out.println(e.getMessage());
    }
    catch (Exception e) {
      System.out.println(e.getMessage());
    }
  }
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?