dabocaiqq 2023-07-19 21:41 采纳率: 56%
浏览 6
已结题

Java语言编写学生成绩管理系统,怎么实现多个用户登录和账户切换的呢

Java语言编写学生成绩管理系统,怎么实现多个用户登录和账户切换的呢?账户的切换是不是输入密码?

  • 写回答

2条回答 默认 最新

  • 全栈若城 全栈领域优质创作者 2023-07-19 21:49
    关注

    要实现多个用户登录和账户切换的方法有很多种,我举个简单的例子供参考哈

    创建一个用户类(User),包括用户名(username)和密码(password)两个属性。

    public class User {
        private String username;
        private String password;
    
        // 构造函数
        public User(String username, String password) {
            this.username = username;
            this.password = password;
        }
    
        // Getter和Setter方法
        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;
        }
    }
    

    在学生成绩管理系统中,创建一个用户管理类(UserManager),用于管理用户信息和处理登录、切换账户等操作。

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    public class UserManager {
        private List<User> userList;
        private User currentUser;
    
        // 构造函数
        public UserManager() {
            userList = new ArrayList<>();
            // 初始化用户列表,可以从数据库或者文件读取
            userList.add(new User("user1", "password1"));
            userList.add(new User("user2", "password2"));
            userList.add(new User("user3", "password3"));
        }
    
        // 登录功能
        public void login() {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入用户名:");
            String username = scanner.nextLine();
            System.out.println("请输入密码:");
            String password = scanner.nextLine();
    
            for (User user : userList) {
                if (user.getUsername().equals(username) && user.getPassword().equals(password)) {
                    currentUser = user;
                    System.out.println("登录成功!当前用户:" + currentUser.getUsername());
                    return;
                }
            }
            System.out.println("用户名或密码错误!");
        }
    
        // 切换账户
        public void switchAccount() {
            if (currentUser == null) {
                System.out.println("请先登录!");
                return;
            }
    
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入新的用户名:");
            String newUsername = scanner.nextLine();
            System.out.println("请输入密码:");
            String password = scanner.nextLine();
    
            for (User user : userList) {
                if (user.getUsername().equals(newUsername) && user.getPassword().equals(password)) {
                    currentUser = user;
                    System.out.println("切换账户成功!当前用户:" + currentUser.getUsername());
                    return;
                }
            }
            System.out.println("用户名或密码错误!");
        }
    }
    

    在主程序中调用用户管理类的方法进行登录和账户切换。

    public class Main {
        public static void main(String[] args) {
            UserManager userManager = new UserManager();
            userManager.login();
            userManager.switchAccount();
        }
    }
    

    但是真实的学生成绩管理系统可能包含更多的功能和模块,例如成绩录入、查询等,我记得之前有过完整的案例, 在问答频道有人问过, 你可以找找看哦

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月27日
  • 已采纳回答 7月19日
  • 创建了问题 7月19日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上