Javase学习16.1-异常练习_用户注册

Javase学习16.1-异常练习_用户注册

1. 需求描述

  1. 程序开始执行时,提示用户输入用户名、密码信息
  2. 输入信息后,后台模拟用户注册
  3. 注册时要求用户名和密码都在[6~14]之间,且不能为null,不然都需要抛出异常
  4. 完成注册的方法放到一个单独的类里
  5. 使用自定义异常类
class UserService {
	public void register(String username, String password) {
        //用户注册
    }
}

编写main方法,在main方法中接收用户输入的信息,在main方法中调用UserService的register方法完成注册。

2. 实现

2.1 自定义异常类 IllegalUserException

package registerProject;

/**
 * @Author: TSCCG
 * @Date: 2021/06/16 20:24
 * 自定义异常类
 */
public class IllegalUserException extends Exception {
    //无参构造
    public IllegalUserException() {
    }
    //有参构造
    public IllegalUserException(String s) {
        super(s);
    }

}

2.2 用户注册类 UserService

package registerProject;

/**
 * @Author: TSCCG
 * @Date: 2021/06/16 19:43
 * 用户业务类,用来处理用户登录、注册等功能
 */
public class UserService {

    /**
     *
     * @param username 用户名
     * @param password 密码
     * @throws IllegalUserException 当输入的用户名或密码为null或长度不在[6,14]区间时,抛出异常
     */
    public void register(String username, String password) throws IllegalUserException {
        //完成注册
        //引用等于null的判断最好放在所有判断的最前面,避免空指针异常
        //username == null 不如写成 null == username,这样如果不小心写成单等号会报错
        //同理,username.equals("abc")不如"abc".equals(username)
        if (null == username || username.length() < 6 || username.length() > 14) {
            throw new IllegalUserException("用户名长度不合法,请保持用户名长度在[6,14]之间!");
        } else if (null == password || password.length() < 6 || password.length() > 14){
            throw new IllegalUserException("密码长度不合法,请保持密码长度在[6,14]之间!");
        } else {
            System.out.println("注册成功!欢迎" + username);
        }
    }
}

2.3 测试类 Test

package registerProject;

import java.util.Scanner;

/**
 * @Author: TSCCG
 * @Date: 2021/06/16 20:39
 */
public class Test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入用户名:");
        String name = sc.next();
        System.out.print("请输入密码:");
        String pass = sc.next();
        UserService user = new UserService();
        try {
            user.register(name,pass);
        } catch (IllegalUserException e) {
            System.out.println(e.getMessage());
        }
    }
}

2.4 运行结果

2.4.1 错误输入情况

用户名不合法:

请输入用户名:阿巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴
请输入密码:123
用户名长度不合法,请保持用户名长度在[6,14]之间!

密码不合法:

请输入用户名:阿巴巴巴巴巴巴
请输入密码:123
密码长度不合法,请保持密码长度在[6,14]之间!

2.4.2 正确输入情况

请输入用户名:阿巴巴巴巴巴巴
请输入密码:123456
注册成功!欢迎阿巴巴巴巴巴巴
posted @ 2021-06-16 21:14  TSCCG  阅读(82)  评论(0编辑  收藏  举报