学生信息管理系统 Java

在这里插入图片描述
Menu.java

package studentmanagesystem;

public class Menu {
    static void showFirst(){
        System.out.println("+--------------学生信息管理系统--------------+");
        System.out.println("|\t\t\t\t1.增加学员信息\t\t\t\t|");
        System.out.println("|\t\t\t\t2.查找学员信息\t\t\t\t|");
        System.out.println("|\t\t\t\t3.更新学员信息\t\t\t\t|");
        System.out.println("|\t\t\t\t4.删除学员信息\t\t\t\t|");
        System.out.println("|\t\t\t\t5.退出\t\t\t\t\t\t|");
        System.out.println("+-------------------------------------------+");
    }
    static void showSecond(){
        System.out.print("请选择操作项:(1)增加  (2)查找  (3)更新  (4)删除  (5)注销  :");
    }

}

Student.java

package studentmanagesystem;

public class Student {
    String stuNo;
    String name;
    double score;

    public String getStuNo() {
        return stuNo;
    }

    public void setStuNo(String stuNo) {
        this.stuNo = stuNo;
    }

    public String getName() {
        return name;
    }

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

    public double getScore() {
        return score;
    }

    public void setScore(double score) {
        this.score = score;
    }

    @Override
    public String toString() {
        return "学员信息:" +
                "学号:" + stuNo +
                "  姓名:" + name  +
                "  成绩:" + score +
                '\n';
    }
}

StudentManage.java

package studentmanagesystem;

import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import java.util.Scanner;
public class StudentManager {
    static Scanner input = new Scanner(System.in);

    //显示操作菜单
    void showMenu(){
        Menu.showFirst();
    }

    //开始方法
    void start(){
        showMenu();
        int choose;
        char answer;
        do {
            Menu.showSecond();
            choose = input.nextInt();
            switch (choose){
                case 1:{
                    addStudent();
                    break;
                }
                case 2:{
                    char answer2;
                    do {

                        System.out.print("请输入学号:");
                        String stuNo = input.next();
                        Student student=findByNo(stuNo);
                        if(student.getStuNo()==null)
                            System.out.println("没有学号为"+stuNo+"的学生。");
                        else System.out.println(student);

                        System.out.print("是否继续查找(y/n):");
                        answer2=input.next().charAt(0);
                    }while (answer2!='n');
                    break;
                }
                case 3:{
                    char answer3;
                    do {
                        Student student = inputInfo();
                        updateStudent(student);
                        System.out.println("学生信息更新成功!");

                        System.out.print("是否继续更新(y/n):");
                        answer3=input.next().charAt(0);
                    }while (answer3!='n');
                    break;
                }
                case 4:{
                    char answer4;
                    do {
                        System.out.print("请输入学号:");
                        String stuNo = input.next();
                        if (removeStudent(stuNo)) {
                            System.out.println("删除成功!");
                        }
                        else System.out.println("删除失败!没有学号为"+stuNo+"的学生信息");
                        System.out.print("是否继续删除(y/n):");
                        answer4=input.next().charAt(0);
                    }while (answer4!='n');
                    break;
                }
                case 5:{
                    System.out.println("谢谢使用!");
                    return;
                }
            }
            System.out.print("返回操作菜单(y/n):");
            answer=input.next().charAt(0);
            if (answer=='y'){
                Menu.showFirst();
            }
        }while (true);

    }

    //添加学生对象到数组中
    void addStudent(){
        char answer;
        do {
            ExcelReader excelReader = ExcelUtil.getReader("E:\\蓝桥\\Java初级\\学生信息.xlsx");
            ExcelWriter excelWriter = ExcelUtil.getWriter("E:\\蓝桥\\Java初级\\学生信息.xlsx");
            Student student = inputInfo();
            excelWriter.writeCellValue(0, excelReader.getRowCount(),student.getStuNo());
            excelWriter.writeCellValue(1, excelReader.getRowCount(),student.getName());
            excelWriter.writeCellValue(2, excelReader.getRowCount(),student.getScore());
            excelWriter.flush();
            excelWriter.close();
            System.out.println("增加学员成功!");
            System.out.println(student);
            System.out.print("是否继续增加(y/n):");
            answer=input.next().charAt(0);
        }while (answer!='n');

    }

    //通过学号查找学员
    Student findByNo(String stuNo){
        ExcelReader excelReader=ExcelUtil.getReader("E:\\蓝桥\\Java初级\\学生信息.xlsx");
        List<List<Object>> students = excelReader.read();
        Student student1=new Student();
        for (List<Object> student : students) {
            if (stuNo.equals(student.get(0))) {
                student1.setStuNo((String)student.get(0));
                student1.setName((String)student.get(1));
                student1.setScore((double)student.get(2));
                break;
            }
        }
        return student1;
    }

    //输入学生信息,并返回学生对象
    Student inputInfo(){
        Student student=new Student();
        System.out.print("请输入学号:");
        student.stuNo = input.next();
        System.out.print("请输入学生姓名:");
        student.name = input.next();
        System.out.print("请输入成绩:");
        student.score = input.nextDouble();
        return student;
    }

    void updateStudent(Student student){
        ExcelWriter excelWriter= ExcelUtil.getWriter("E:\\蓝桥\\Java初级\\学生信息.xlsx");
        ExcelReader excelReader=ExcelUtil.getReader("E:\\蓝桥\\Java初级\\学生信息.xlsx");
        int rowCount = excelReader.getRowCount();
        for (int i = 1; i < rowCount; i++) {
            List<Object> row = excelReader.readRow(i);
            if (row.get(0).equals(student.getStuNo())) {
                excelWriter.writeCellValue(0, i,student.getStuNo());
                excelWriter.writeCellValue(1, i,student.getName());
                excelWriter.writeCellValue(2, i,student.getScore());
                excelWriter.flush();
                excelWriter.close();
                return;
            }
        }

    }

    boolean removeStudent(String stuNo){
        ExcelReader excelReader = ExcelUtil.getReader("E:\\蓝桥\\Java初级\\学生信息.xlsx");
        int rowCount = excelReader.getRowCount();
        int i;
        boolean isfind=false;
        for (i = 1; i < rowCount; i++) {
            List<Object> row = excelReader.readRow(i);
            if (row.get(0).equals(stuNo)) {
                isfind=true;
                break;
            }
        }
        if (!isfind) {
            return false;
        }
        for (int j = i+1; j < rowCount; j++) {
            ExcelWriter excelWriter = ExcelUtil.getWriter("E:\\蓝桥\\Java初级\\学生信息.xlsx");
            List<Object> row = excelReader.readRow(j);
            excelWriter.writeCellValue(0, j-1,row.get(0));
            excelWriter.writeCellValue(1, j-1,row.get(1));
            excelWriter.writeCellValue(2, j-1,row.get(2));
            excelWriter.flush();
            excelWriter.close();

        }
        ExcelReader excelReader1 = ExcelUtil.getReader("E:\\蓝桥\\Java初级\\学生信息.xlsx");
        Workbook workbook=excelReader1.getWorkbook();
        Sheet sheet=workbook.getSheetAt(0);
        Row row=sheet.getRow(rowCount-1);
        sheet.removeRow(row);
        try {
            workbook.write(new FileOutputStream("E:\\蓝桥\\Java初级\\学生信息1.xlsx"));
            workbook.close();
        }catch (IOException e){
            e.printStackTrace();
        }
        return true;
    }


    public static void main(String[] args) {
        StudentManager studentManager=new StudentManager();
        studentManager.start();
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值