学生管理系统(本地文件操作java版)

在这里插入图片描述
IDEA中项目的一览图

概述

功能概述:实现学生信息的增删改查,创建本地文件进行读取、保存;有两种权限:学生和老师(管理员);学生只能对自己的信息进行修改;老师可以查看和修改所有的学生信息;在学生对进行自己信息进行操作之前,需要老师先在系统中添加这个学生的信息

源码

源码如下:

接口

package com.hengzhi.service;

import com.hengzhi.pojo.StudentList;

import java.io.IOException;

public interface ManagerSystemService {
   

    void studentListSet(StudentList list);

    void resetPassword(String password);

    int authentication(String name) throws IOException;

    void setPassWord(String s);

    void loadPassword(String s);

    String getPassWord();

}

//学生列表的功能

package com.hengzhi.service;

import com.hengzhi.pojo.StudentList;


import java.io.IOException;

public interface StudentListService {
   

    void add(StudentList sl);

    void reset(StudentList sl);

    void delete(StudentList sl);

    void search(StudentList sl, String s);

    void output(StudentList sl, String password) throws IOException;

    void revice(StudentList list, int index);

    void show(StudentList list);

}

//学生的功能

package com.hengzhi.service;


import com.hengzhi.pojo.Student;

//学生信息功能实现
public interface StudentService {
   

    void show(Student s);

}


实现类

package com.hengzhi.service.serviceImpl;

import com.hengzhi.pojo.ManagerSystem;
import com.hengzhi.pojo.StudentList;
import com.hengzhi.service.ManagerSystemService;


public class ManagerSystemServiceImpl extends ManagerSystem implements ManagerSystemService {
   


    @Override
    public void setPassWord(String s) {
   
        if(this.password == null){
   
            this.password = s;
            System.out.println("密码设置成功");
        }else{
   
            System.out.println("密码已设置,不可进行再次初始设置");
        }

    }

    @Override
    public void loadPassword(String s) {
   
        this.password = s;
    }

    @Override
    public String getPassWord() {
   
        return password;
    }

    //设置学生列表
    @Override
    public void studentListSet(StudentList list) {
   
        this.list = list;
    }



    //修改管理员密码
    @Override
    public void resetPassword(String newPassword) {
   

        if(this.password.equals(newPassword)){
   
            System.out.println("请输入新密码");
            this.password = s.next();
            this.number = 3;
            System.out.println("密码修改成功,验证次数已重置");
        }else {
   
            System.out.println("密码错误,还有"+this.number+"次机会");
            this.number--;
        }
    }

    //身份验证.需要传入一个字符串,如果该字符串是"Student",则表示是以学生身份进行验证操作的,否则则是管理员身份进行操作
    @Override
    public int authentication(String name) {
   
        if(name.equals("Student")){
   //学生端
            int number = 3;
            while(number > 0) {
   
                System.out.println("请输入学生ID和密码");
                String ID = s .next();
                String password = s.next();
                boolean key = false;

                for(int i=0;i<=list.studentList.size()-1;i++){
   
                    if(list.studentList.get(i).studentID.equals(ID)){
   
                        if(list.studentList.get(i).password.equals(password)){
   
                            System.out.println("登录成功");
                            return i;
                        }else{
   
                            key = true;
                            System.out.println("密码错误");
                            number--;
                            break;
                        }
                    }
                }

                if(!key){
   
                    System.out.println("未找到该学生信息,请先联系管理员老师添加学生信息");
                    number--;
                }
            }

            if(number == 0) {
   
                System.out.println("尝试次数已用完,本系统即将自动关闭");
                System.exit(0);
            }
        }else {
   //老师端
            while(this.number > 0){
   
                System.out.println("请输入密码:");
                String pw = s.next();
                if(pw.equals(this.password)){
   
                    System.out.println("登陆成功,您现在可以对所有学生信息进行操作了");
                    return</
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值