|
@@ -0,0 +1,170 @@
|
|
|
+package com.lc.day12.test;
|
|
|
+
|
|
|
+/**
|
|
|
+ * ClassName: User
|
|
|
+ *
|
|
|
+ * @Author 爱扣钉-陈晨
|
|
|
+ * @Create 2024/1/8 11:49
|
|
|
+ * @Version 1.0
|
|
|
+ */
|
|
|
+import java.util.Scanner;
|
|
|
+
|
|
|
+class UsernameAlreadyExistsException extends Exception {
|
|
|
+ public UsernameAlreadyExistsException(String message) {
|
|
|
+ super(message);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+class LoginFailException extends Exception {
|
|
|
+ public LoginFailException(String message) {
|
|
|
+ super(message);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+class LoginUsername extends Exception{
|
|
|
+ public LoginUsername(String message){
|
|
|
+ super(message);
|
|
|
+ }
|
|
|
+}
|
|
|
+class User {
|
|
|
+ private String username;
|
|
|
+ private String password;
|
|
|
+
|
|
|
+ public User() {
|
|
|
+ }
|
|
|
+
|
|
|
+ public User(String username, String password) {
|
|
|
+ this.username = username;
|
|
|
+ this.password = password;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String getUsername() {
|
|
|
+ return username;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setUsername(String username) {
|
|
|
+ this.username = username;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String getPassword() {
|
|
|
+ return password;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setPassword(String password) {
|
|
|
+ this.password = password;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String toString() {
|
|
|
+ return "User{" +
|
|
|
+ "username='" + username + '\'' +
|
|
|
+ ", password='" + password + '\'' +
|
|
|
+ '}';
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+class UserManager {
|
|
|
+ private static User[] arr;
|
|
|
+ private static int total;
|
|
|
+
|
|
|
+ public UserManager() {
|
|
|
+ arr = new User[10];
|
|
|
+ total = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void checkUsernameExists(String username) throws UsernameAlreadyExistsException {
|
|
|
+ for (int i = 0; i < total; i++) {
|
|
|
+ if (arr[i].getUsername().equals(username)) {
|
|
|
+ throw new UsernameAlreadyExistsException("用户名已存在!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void add(User user) {
|
|
|
+ arr[total++] = user;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void login(User user) throws LoginFailException {
|
|
|
+ boolean flag = false;
|
|
|
+ for (int i = 0; i < total; i++) {
|
|
|
+ if (arr[i].getUsername().equals(user.getUsername()) && arr[i].getPassword().equals(user.getPassword())) {
|
|
|
+ flag = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!flag) {
|
|
|
+ throw new LoginFailException("登录失败!");
|
|
|
+ } else {
|
|
|
+ System.out.println("登录成功!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void checkLoginUsername(String username) throws LoginUsername{
|
|
|
+ if(total == 0 ){
|
|
|
+ throw new LoginUsername("用户名不存在!");
|
|
|
+ }
|
|
|
+ for(int i = 0 ; i < total ; i++){
|
|
|
+ if(!(arr[i].getUsername().equals(username))){
|
|
|
+ throw new LoginUsername("用户名不存在!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+public class TestUser {
|
|
|
+ public static void main(String[] args) {
|
|
|
+ Scanner scanner = new Scanner(System.in);
|
|
|
+ UserManager userManager = new UserManager();
|
|
|
+
|
|
|
+ while (true) {
|
|
|
+ System.out.println("--------爱扣钉--------");
|
|
|
+ System.out.println("1、注册");
|
|
|
+ System.out.println("2、登录");
|
|
|
+ System.out.println("3、退出");
|
|
|
+ System.out.print("请选择:");
|
|
|
+
|
|
|
+ int n = scanner.nextInt();
|
|
|
+ scanner.nextLine();
|
|
|
+
|
|
|
+ switch (n) {
|
|
|
+ case 1:
|
|
|
+ System.out.print("用户名: ");
|
|
|
+ String username = scanner.nextLine();
|
|
|
+
|
|
|
+ try {
|
|
|
+ userManager.checkUsernameExists(username);
|
|
|
+ System.out.print("密码: ");
|
|
|
+ String password = scanner.nextLine();
|
|
|
+ userManager.add(new User(username, password));
|
|
|
+ System.out.println("注册成功!");
|
|
|
+ } catch (UsernameAlreadyExistsException e) {
|
|
|
+ System.out.println(e.getMessage());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ System.out.print("用户名: ");
|
|
|
+ String loginUsername = scanner.nextLine();
|
|
|
+ try{
|
|
|
+ userManager.checkLoginUsername(loginUsername);
|
|
|
+ } catch (LoginUsername e) {
|
|
|
+ System.out.println(e.getMessage());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ System.out.print("密码: ");
|
|
|
+ String loginPassword = scanner.nextLine();
|
|
|
+ try {
|
|
|
+ userManager.login(new User(loginUsername, loginPassword));
|
|
|
+ } catch (LoginFailException e) {
|
|
|
+ System.out.println(e.getMessage());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ System.out.println("程序已退出!");
|
|
|
+ System.exit(0);
|
|
|
+ default:
|
|
|
+ System.out.println("输入错误,请重新输入!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|