学生信息管理系统 Java

学生信息管理系统 Java_第1张图片
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();
    }
}

你可能感兴趣的:(学习笔记,java,数据库,excel)