Javase学习16.1-异常练习_用户注册
Javase学习16.1-异常练习_用户注册
1. 需求描述
- 程序开始执行时,提示用户输入用户名、密码信息
- 输入信息后,后台模拟用户注册
- 注册时要求用户名和密码都在[6~14]之间,且不能为null,不然都需要抛出异常
- 完成注册的方法放到一个单独的类里
- 使用自定义异常类
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
注册成功!欢迎阿巴巴巴巴巴巴