Java初学MonthlyText2---用户管理系统

实现用户的管理系统

用户属性:用户编号,用户名, 密码,姓名,年龄,性别,身份证号码,用户状态(校验用户帐号是否正常,1正常, 0 异常,对于异常用户不能登录)

原有用户有2个:

用户一:用户名:zhang,密码:123; 登录状态:1

用户二:用户名:wang , 密码:111; 登录状态:0

管理员:admin, admin,1

需求:

1:登录:只有当用户名、密码、验证码 都正确的时候,并且用户状态为1的时候才显示登录成功,用户状态为0不能登录。

2:登录成功之后,提示欢迎你: xxx,    

可以进行的操作

管理员:

1:查看所有用户:可以选择查看所有用户信息,显示所有的用户名,密码,姓名,用户状态, -   5

2:拉黑:可以根据用户编号拉黑用户,一旦用户被拉黑,则这个用户则不能继续登录了,需要判断输入的用户编号是否合理。 -- 10

3:根据用户编号查看用户的详细信息,需要判断合理性, 如果没有这个用户的话,则显示没有这个人的信息  -- 10
4:根据用户的的某个字进行模糊查询 -- 姓名中包含某个字的都查出来显示。如:三, 则将所有的包含三的用户都显示出来,如:张三,三子,张三疯 -- 20

普通用户:修改密码,在修改之前需要输入原密码,对了之后才能进行修改   - 5

注意:

  1. 每一个操作完成之后需要提供返回的功能 - 没有返回功能 扣 10分
  2. 做好每一个步骤的异常处理 , 出现一个异常扣5分
package Text6;

public class User {
    private int uid;
    private String username;
    private String password;
    private String name;
    private int age;
    private String sex;
    private String cardId;
    private String stats;

    public User(String username, String password, String stats) {
        this.username = username;
        this.password = password;
        this.stats = stats;
    }

    public User(int uid, String username, String password, String name, int age, String sex, String cardId, String stats) {
        this.uid = uid;
        this.username = username;
        this.password = password;
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.cardId = cardId;
        this.stats = stats;
    }

    @Override
    public String toString() {
        return "User{" +
                "uid=" + uid +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                ", cardId='" + cardId + '\'' +
                ", stats='" + stats + '\'' +
                '}';
    }

    public int getUid() {
        return uid;
    }

    public void setUid(int uid) {
        this.uid = uid;
    }

    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;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getCardId() {
        return cardId;
    }

    public void setCardId(String cardId) {
        this.cardId = cardId;
    }

    public String getStats() {
        return stats;
    }

    public void setStats(String stats) {
        this.stats = stats;
    }
}
package Text6;

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

public class Demo {
    static Scanner sc=new Scanner(System.in);
    static List<User> users=new ArrayList<>();
    static User loginUser=null;
    public static void main(String[] args) {
        User user0=new User(0,"admin","admin","管理员",20,"男","10086","1");
        User user1=new User(1,"zhang","123","张三",18,"男","10001","1");
        User user2=new User(2,"wang","111","王五",38,"男","10002","0");
        users.add(user0);
        users.add(user1);
        users.add(user2);
        index();
    }
    public static void index(){
        System.out.println("请选择需要的操作");
        System.out.println("1.登录");
        System.out.println("2.输入任意键退出");
        Scanner sc = new Scanner(System.in);
        String num = sc.next();

        switch(num){
            case "1":
                login();
                break;
            default:
                System.out.println("程序退出");
                System.exit(0);
        }
    }
    public static void login(){
        System.out.println("输入用户名:");
        String myName = sc.next();
        System.out.println("输入密码");
        String myPwd = sc.next();
        String username=null;
        for(User user : users){
            if("1".equals(user.getStats())&&(myName.equals(user.getUsername()))&& (myPwd.equals(user.getPassword()))){
                username = myName;
                System.out.println("登录成功,欢迎你:"+username);
                break;
            }
        }
        if(username == null){
            System.out.println("登陆失败,请重新登陆");
            index();//登陆失败回到首页
        }else{
            if ("admin".equals(username)){
                loginUser=users.get(0);//改==========
                adminView();//管理员视图

            }else{
                //获取当前用户登录对象
                for (User u:users) {
                    if(u.getUsername().equals(myName)){
                        //进来了u就是登录对象
                        loginUser=u;
                    }
                }
                userView();
            }
        }
    }
    private static void userView() {
        System.out.println("1.修改密码");
        System.out.println("2.查看我的信息");
        System.out.println("3.输入0返回上一级");
        int num=sc.nextInt();
        if(num==1){
            changePwd();
        }else if(num==2){
            System.out.println(loginUser.getUid()+"\t"+loginUser.getUsername()+"\t"+loginUser.getPassword()+"\t"+loginUser.getAge()+"\t"+loginUser.getSex()+"\t"+loginUser.getCardId()+"\t"+loginUser.getStats());
            userView();
        }else if(num==0){
            index();
        }

    }
    private static void changePwd() {
        System.out.println("请输入原密码:");
        String oldPwd=sc.next();
        if(oldPwd.equals(loginUser.getPassword())){
            System.out.println("请输入新密码:");
            String newPwd=sc.next();
            System.out.println("请再次确认密码:");
            String newPwd2=sc.next();
            if(newPwd.equals(newPwd2)){
                loginUser.setPassword(newPwd);
                System.out.println("修改密码成功");
                login();
            }else {
                System.out.println("两次密码不一致,请重新操作");
                changePwd();
            }
            System.out.println("密码错误,请重新操作");
            changePwd();
        }

    }
    private static void adminView() {
        System.out.println("欢迎你,admin");
        System.out.println("1:查看所有用户");//查
        System.out.println("2.拉黑 ");//状态改成0需要判断输入的用户编号是否合理
        System.out.println("3.查看详细用户信息");//需要判断合理性, 如果没有这个用户的话,则显示没有这个人的信息
        System.out.println("4.模糊查询");//根据用户的的某个字进行模糊查询 -- 姓名中包含某个字的都查出来显示。如:三, 则将所有的包含三的用户都显示出来,如:张三,三子,张三疯 -- 20
        System.out.println("0.回到首页");
        int num=sc.nextInt();
        switch (num){
            case 1:showUsers();
            case 2:blackUsers();
            case 3:showDetialUsers();
            case 4:blurSelectUsers();
            case 0:index();
            default:
                System.out.println("输入有误");
                adminView();
        }
    }
    private static void blurSelectUsers() {
        System.out.println("请输入模糊查询名字:");
        String bname=sc.next();
        String bname0=null;
        for (User user:users) {
            if(user.getName().contains(bname)){
                bname0=bname;
                System.out.println(user);
            }
        }
        if(bname0==null){
            System.out.println("不存在,请重输入");
            blurSelectUsers();
        }adminView();
    }

    private static void showDetialUsers() {
        System.out.println("请输入用户id:");
        int x=sc.nextInt();
        int id=-1;
        for (User user:users) {
            if(x==user.getUid()){
                id=x;
            }
        }
        if(id!=-1){
            for (User user:users) {
                if(x==user.getUid()){
                    System.out.println(user);
                }
            }
        }else {
            System.out.println("id不存在");
            showDetialUsers();
        }
        adminView();
    }

    private static void blackUsers() {
        System.out.println("请输入拉黑用户id");
        int id=-1;
        int x=sc.nextInt();
        for (User user:users) {
            if(x==user.getUid()){
                id=x;
            }
        }
        if(id!=-1){
            for (User user:users) {
                if(x==user.getUid()){
                    user.setStats("0");

                }
            }
        }else {
            System.out.println("id不存在");
            blackUsers();
        }
        System.out.println("拉黑成功");
        adminView();
    }

    private static void showUsers() {

        for (User user:users) {
            System.out.println("用户名:"+user.getUsername()+"密码:"+user.getPassword()+"姓名:"+user.getName()+"用户状态:"+user.getStats());
        }
        System.out.println("输入0返回上一级");
        int num=sc.nextInt();
        if(num==0){
            adminView();
        }else {
            System.out.println("输入0返回上一级");
        }
    }

}

运行结果:

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值