Java基础案例2-6:登录注册小程序

【案例2-6】 登录注册小程序

【案例介绍】

编写程序实现简单的登录注册功能。程序包含以下4个功能:
(1)登录功能,用户输入正确的账号密码进行成功;
(2)注册功能,输入用户名和密码进行注册;
(3)查看功能,查看所有的用户名与密码;
(4)退出功能,退出系统。
用户可以输入对应的编号进行相应的功能操作。例如,输入2进入注册功能,输入用户名和密码进行注册。

【代码】

package com.j2se.myInstances.example2_6;

import java.util.Scanner;

public class UserManagerSys {

    static String[] username = new String[5];
    static String[] password = new String[5];

    static int idx = 0; // 用于记录添加新用户的位置

    public static void main(String[] args) {

        // 初始用户密码
        username[0] = "admin";
        password[0] = "123";

        Scanner sc = new Scanner(System.in);
        boolean isFlag = true;
        while (isFlag) {
            printInfo();
            String option = sc.next();
            switch (option) {
                case "1":
                    login();
                    break;
                case "2":
                    register();
                    break;
                case "3":
                    showInfo();
                    break;
                case "4":
                    System.out.println("4. 退 出 系 统\n");
                    isFlag = false;
                    break;
                default:
                    System.out.println("输入有误!请重新输入:");
                    break;
            }
        }
    }

    public static void printInfo() {
        System.out.println("------------------用户信息管理系统------------------");
        System.out.println("------------------1. 用 户 登 录-------------------");
        System.out.println("------------------2. 用 户 注 册-------------------");
        System.out.println("------------------3. 查 看 信 息-------------------");
        System.out.println("------------------4. 退 出 系 统-------------------");
        System.out.println("请选择功能:");
    }

    public static void login() {
        Scanner sc = new Scanner(System.in);
        System.out.println("=>用户登录");
        outer:
        while (true) {
            for (int i = 0; i < username.length; i++) {
                System.out.print("用户名:");
                String uname = sc.next();
                System.out.print("密码:");
                String upass = sc.next();
                if (username[i].equals(uname) && password[i].equals(upass)) {
                    System.out.println("登录成功!\n");
                    break outer;
                } else {
                    System.out.println("账号或密码错误!请重新输入\n");
                    break;
                }
            }
        }
    }

    public static void register() {
        Scanner sc = new Scanner(System.in);
        System.out.println("=>用户注册");

        System.out.println("请输入用户名:");
        String uname = sc.next();
        System.out.println("请输入密码:");
        String upass = sc.next();

        boolean flag = true;
        for (int i = 0; i < username.length; i++) {
            // 判断是否已经存在用户
            if (uname.equals(username[i])) {
                System.out.println("用户名已存在!");
                flag = false;
            }
        }
        if (flag) {
            idx++;
            if (idx < username.length) {
                username[idx] = uname;
                password[idx] = upass;
                System.out.println("注册完成!\n");
            } else {
                // 若idx超过了数组的长度,则需要扩充大数组容量
                expandArrLen();
                username[idx] = uname;
                password[idx] = upass;
                System.out.println("注册完成!");
            }
        }
    }

    private static void expandArrLen() {
        String[] uarr = new String[username.length + 10];
        String[] parr = new String[password.length + 10];

        System.arraycopy(username, 0, uarr, 0, username.length);
        System.arraycopy(password, 0, parr, 0, password.length);

        username = uarr;
        password = parr;
    }

    private static void showInfo() {
        System.out.println("=>查看信息");
        for (int i = 0; i < username.length; ++i) {
            if (username[i] != null) {
                System.out.print("用户名:" + username[i] + ", ");
                System.out.println("密码:" + password[i]);
            }
        }
        System.out.println();
    }
}

你可能感兴趣的:(Java基础案例)