用java语言写一个简易版本的登录页面,包含用户注册、用户登录、用户注销、修改密码等功能

package com.Summer_0421.cn;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author Summer
 * 使用java面向对象之前的知识 完成规定的功能;
 * 附加要求 :
 * 1. 可以注册多个用户
 * 2. 每个注册的用户都可以登录
 * 3. 注册的用户名是唯一的
 * 4. 已经登录的用户 必须注销登录才可以继续登录
 */
public class Test05 {
    static Scanner sc = new Scanner(System.in);
    
    //用户名数组,用来存储用户名
    static int [] usernames = new int[5];
    
    //密码数组,用来存储所用的密码
    static int [] passwords = new int[5];
    
    //数组元素的真实数量
    static int count =0;
    
    
    
    
    public static void main(String[] args) {
        
        int input = 0;
        while (input!=4) {
            menu();
            input = sc.nextInt();
            switch (input) {
            case 1:
                System.out.println("1.欢迎注册用户账号");
                resign();//注册用户名方法
                break;
            case 2:
                System.out.println("2.欢迎登录用户账号");
                login();
                break;
            case 3:
                System.out.println("3.注销用户账号成功");
                break;
            case 4:
                System.out.println("4.退出成功!");
                break;
            case 5:
                System.out.println("5.修改账户密码");
                change();
                break;
            default:
                System.out.println("请输入有效的数字提示");
                break;
            }
            
        }
        

    }
    public static void change() {
        System.out.println("请输入用户名:");
        int username = sc.nextInt();
        System.out.println("请输入密码:");
        int password = sc.nextInt();
        
        int index = check(username);
        //判断用户名是否存在,-1则为不存在
        if (index ==-1) {
            System.out.println("用户名不存在,请注册一个用户");
            return;
        }
        
        System.out.println("当前用户密码为"+password);
        System.out.println("请输入您要修改的密码:");
        passwords[index] = sc.nextInt();
        if (passwords[index]==password) {
            System.out.println("此密码与当前密码一致,请重新输入");
            change();
        }else{
            System.out.println("修改密码成功!");
        }
        
        
        
    }
    public static void login() {
        System.out.println("请输入用户名:");
        int username = sc.nextInt();
        System.out.println("请输入密码:");
        int password = sc.nextInt();
        
        int index = check(username);
        //判断用户名是否存在,-1则为不存在
        if (index ==-1) {
            System.out.println("用户名不存在,请重新输入一个");
            return;
        }
        
        if (usernames[index]==username&&passwords[index]==password) {
            System.out.println("登录成功");
        } else {
            System.out.println("用户名或密码输入错误,请重新输入");
        }
        
    }
/**
 * 用户注册
 *     
 */
    public static void resign() {
        System.out.println("请输入用户名:");
        int username = sc.nextInt();
        System.out.println("请输入密码:");
        int password = sc.nextInt();
        
        //判断是否已经被注册
        int index = check(username);
        if (index!=-1) {
            System.out.println("用户已经被注册,请重新输入");
            return;
        }
        //存入数组
        usernames[count]=username;
        passwords[count]=password;
        //数组元素累加
        count++;
        System.out.println("用户名"+username +"注册成功"+"\t数组的数量为"+count);
    
        //用户名密码数量超出数组的范围 (扩容)
        if (count == usernames.length) {
            usernames = Arrays.copyOf(usernames, usernames.length*2);
            passwords = Arrays.copyOf(passwords, passwords.length*2);
        }
        System.out.println("扩容后的长度为"+usernames.length);
    }
    
/**
 * 判断用户是否已经注册或者登录
 * count真实数量来进行判断
 * 如果用户名存在,返回当前用户名的下标
 * 如果不存在,返回-1
 */
    public static int check(int name){
        for (int i = 0; i < count; i++) {
            if (usernames[i]==name) {
                return i;
            }
        }
        return -1;
    }
/**
 * 登录菜单
 */
    public static void menu() {
        System.out.println("....欢迎来到登录系统....");
        System.out.println("___________________");
        System.out.println("1.欢迎注册用户账号");
        System.out.println("2.欢迎登录用户账号");
        System.out.println("3.注销用户账号成功");
        System.out.println("4.退出成功!");
        System.out.println("5.修改密码");
        
    }

}

 

posted @ 2019-04-21 21:59  Geek张东坡  阅读(3164)  评论(0编辑  收藏  举报