移动部第一次作业 2021-05-31

Posted 超霸霸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动部第一次作业 2021-05-31相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

已经一个星期都没更新了,今天才记起我在CSDN还有账号,其实这个星期在忙后端部的第一次作业,这个作业也是学习了部门其他小伙伴的代码后才写出来的,废话不多说直接上题目和代码

这是题目:

在这里插入图片描述

这是我的作业结构:

在这里插入图片描述

下面是我的代码:

Admin

package mycode;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Admin
{
    //管理员用户名
    private String adminName;
    //管理员用户密码
    private String adminPassword;
    //list容器存放用户信息
    private List<User> list = new ArrayList<>();


    //初始化管理员的用户名和密码
    public Admin()
    {
        setAdminName("蒋超");
        setAdminPassword("123456");
    }

    //设置管理员名
    public void setAdminName(String adminName)
    {
        this.adminName=adminName;
    }

    //设置管理员密码
    public void setAdminPassword(String adminPassword)
    {
        this.adminPassword=adminPassword;
    }

    //主菜单
    public void menu()
    {
        System.out.println("|-------------------|");
        System.out.println("|-----1.用户登录-----|");
        System.out.println("|-----2.管理员登录---|");
        System.out.println("|-----3.用户注册-----|");
        System.out.println("|-----4.找回密码-----|");
        System.out.println("|-----5.退出系统 -----|");
        System.out.println("|-------------------|");
    }

    //用户面板
    public void userMenu()
    {
        System.out.println("-----1.退出登录-----");
        System.out.println("-----2.注销账号-----");
        System.out.println("-----3.修改密码-----");
    }

    //管理员面板
    public void adminMenu()
    {
        System.out.println("-----1.退出登录--------");
        System.out.println("-----2.打印所有信息-----");
        System.out.println("-----3.删除用户信息------");
        System.out.println("-----4.查找用户信息------");
    }

    //用户登录
    public void userLogin()
    {
        String userName;
        String userPassword;
        //用户输入账户名和密码
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入用户名:");
        userName=scanner.next();    //接收字符串用.next()
        System.out.println("请输入密码:");
        userPassword=scanner.next();
        //判断账户名和密码是否正确,index为用户在list中的下标
        int index=passwordIsTrue(userName,userPassword);
        //若密码正确
        if(index!=-1)
        {
            System.out.println(userName+" 登录成功!");
            while(true)
            {
                userMenu();
                int get=scanner.nextInt();
                if(get==1)
                {
                    //退出登录
                    userLogOut(index);
                    break;
                }
                else if(get==2)
                {
                    //注销账号
                    userUnsubscribe(index);
                    break;
                }
                else if(get==3)
                {
                    //修改密码
                    modifyUserPassword(index);
                }
                else
                {
                    System.out.println("你的输入有误!");
                }
            }
        }
        //密码不正确
        else
        {
            System.out.println("登录失败!");
        }
    }

    //管理员登录
    public void adminLogin()
    {
        String adminName;
        String adminPassword;
        //用户输入账户名和密码
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入管理员账号:");
        adminName=scanner.next();
        System.out.println("请输入管理员密码:");
        adminPassword=scanner.next();
        if((adminName.equals(this.adminName))&&(adminPassword.equals(this.adminPassword)))
        {
            while(true)
            {
                System.out.println(adminName+"登录成功!");
                adminMenu();
                int get=scanner.nextInt();
                System.out.println("请输入你的操作:");
                if(get==1)
                {
                    //退出登录
                    System.out.println("管理员退出登录!");
                    break;
                }
                else if(get==2)
                {
                    //打印所有信息
                    printAllUserInfo();
                }
                else if(get==3)
                {
                    //删除用户信息
                    deleteUser();
                }
                else if(get==4)
                {
                    //查找用户信息
                    System.out.println("请输入你要查找的用户名:");
                    String userName=new Scanner(System.in).next();
                    int index=findUser(userName);
                    if(index!=-1)
                    {
                        list.get(index).showInfo();
                    }
                    else
                    {
                        System.out.println("你查找的用户不存在!");
                    }
                }
                else
                {
                    System.out.println("你的输入有误!");
                }
            }
        }
        else
        {
            System.out.println("登录失败!");
        }
    }

    //用户注册
    public void userRegister()
    {
        System.out.println("请输入用户名:");
        String userName=new Scanner(System.in).next();
        System.out.println("请输入密码:");
        String userPassword=new Scanner(System.in).next();
        if(nameExist(userName))
        {
            System.out.println("用户已存在!");
            return;
        }
        else
        {
            User user=new User(userName,userPassword);
            list.add(user);
            System.out.println("注册成功!");
        }
    }

    //退出系统
    public void exit()
    {
        return;
    }

    //用户面板中的方法:

    //判断密码是否正确
    public int passwordIsTrue(String userName,String userPassword)
    {
        for(int i=0;i< list.size();i++)
        {
            if(userName.equals(list.get(i).getUserName())&&userPassword.equals(list.get(i).getUserPassword()))
            {
                return i;
            }
        }
        return -1;
    }

    //判断账号是否已经存在
    public Boolean nameExist(String userName)
    {
        int index=findUser(userName);
        if(index!=-1)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    //修改用户密码
    public void modifyUserPassword(int index)
    {
        System.out.println("请输入修改后的密码:");
        String newPassword=new Scanner(System.in).next();
        list.get(index).setUserPassword(newPassword);
        System.out.println("修改成功!");
    }

    //退出登录
    public void userLogOut(int index)
    {
        System.out.println("账号:"+list.get(index).getUserName()+" 退出登录!");
    }

    //注销账号
    public void userUnsubscribe(int index)
    {
        System.out.println("账号:"+list.get(index).getUserName()+"注销成功!");
        list.remove(index);
    }

    //找回密码
    public void findBackPassword()
    {
        System.out.println("请输入用户名:");
        String userName=new Scanner(System.in).next();
        int index=findUser(userName);
        if(index==-1)
        {
            System.out.println("该用户不存在!");
        }
        else
        {
            int choice=list.get(index).getChoice();
            if(choice==1)
            {
                System.out.println("请输入你的父亲姓名:");
            }
            else if(choice==2)
            {
                System.out.println("请输入你的母亲姓名:");
            }
            else if(choice==3)
            {
                System.out.println("请输入你的母校名称:");
            }
            else
            {
                System.out.println("你的输入有误");
            }
            String answer=new Scanner(System.in).next();
            if(answer.equals(list.get(index).getAnswer()))
            {
                System.out.println("回答正确!");
                System.out.println("你的密码为:"+list.get(index).getUserPassword());
            }
            else
            {
                System.out.println("你的回答错误!");
            }
        }
    }

    //判断密保问题是否正确
    public Boolean secrutyIsTrue()
    {
        return true;
    }

    //管理员面板中的方法:

    //打印所有用户信息
    public void printAllUserInfo()
    {
        if(list.size()==0)
        {
            System.out.println("用户为空!");
        }
        else
        {
            for(int i=0;i<list.size();i++)
            {
                list.get(i).showInfo();
            }
        }
    }

    //根据用户名查找用户信息
    public int findUser(String userName)
    {
        for(int i=0;i<list.size();i++)
        {
            if(userName.equals(list.get(i).getUserName()))
            {
                return i;
            }
        }
        return  -1;
    }

    //根据用户名删除用户信息
    public void deleteUser()
    {
        System.out.println("请输入你要查找的用户名:");
        String userName=new Scanner(System.in).next();
        int index=findUser(userName);
        if(index!=-1)
        {
            list.remove(index);
            System.out.println("删除成功!");
        }
        else
        {
            System.out.println("你要删除的用户不存在!");
        }
    }

}

User:

package mycode;

import java.util.Scanner;

public class User
{
    //用户名
    private String userName;
    //用户密码
    private String userPassword;
    //密保答案
    private String answer;
    //密保选择
    private int choice;

    public User(String userName,String userPassword)
    {
        setUserName(userName);
        setUserPassword(userPassword);
        setAnswer();
    }

    //设置用户名
    public void setUserName(String userName)
    {
        this.userName=userName;
    }

    //设置用户密码
    public void setUserPassword(String userPassword)
    {
        this.userPassword=userPassword;
    }

    //获取账户名
    public String getUserName()
    {
        return this.userName;
    }

    //获取加密后的用户密码
    public String getEncryptedPassword()
    {
        String encryptedPassword="";
        for(int i=0;i<userPassword.length();i++)
        {
            encryptedPassword+="*";
        }
        return encryptedPassword;
    }

    //获取用户密码
    public String getUserPassword()
    {
        return this.userPassword;
    }

    //打印信息
    public void showInfo()
    {
        System.out.println("账号名:"+this.userName+"\\t\\t账号密码:"+getEncryptedPassword());
    }

    //密保菜单
    public void securityMenu()
    {
        System.out.println("请你选择一个问题,以用于找回密码:");
        System.out.println("1.您的父亲姓名")以上是关于移动部第一次作业 2021-05-31的主要内容,如果未能解决你的问题,请参考以下文章

2021-05-31

2021-05-31

2021-05-31 wms仓库管理系统具有四大功能

130292015055 蔡菲 第1章作业

集美大学1513,1514软件工程课程作业总结

第二周作业