Simple student achievement management system (array implementation)

Simple student achievement management system (array implementation)

I wrote a simple student management system with java array. There is no database connected, and the data is stored in memory to realize simple addition, deletion, modification, and query functions.

1. Run the picture
Part of the function picture2. Part of the code

package com.sky.demo;

import javax.swing.text.Style;
import java.util.Scanner;

public class Service {
    
    
    Scanner scanner = new Scanner(System.in);
    //数组,静态初始化,分配大小
    Student[] students = new Student[30];
    Student student1 = new Student("小庄", 20190001, "信息管理", 20, 100);
    Student student2 = new Student("小游", 20160001, "软件工程", 23, 90);

    //构造代码块,加载类执行一次
    {
    
    
        students[0] = student1;
        students[1] = student2;
    }

    /**
     * 查看所有学生
     */
    public void selectAllStudent() {
    
    
        for (int i = 0; i < students.length; i++) {
    
    
            //没有数据不打印
            if (students[i] != null) {
    
    
                System.out.println("\t编号" + (i + 1) + "\t姓名:" + students[i].getName() + "\t学号:" + students[i].getStuNum() + "\t专业:" + students[i].getClasses()
                        + "\t年龄:" + students[i].getAge() + "\t分数:" + students[i].getGrades());
            }
        }
    }

    /**
     * 添加一个学生
     */
    public void addStudent() {
    
    
        //无参构造,构造一个空的学生
        Student newStudent = new Student();
        //设置学生属性
        System.out.println("---请输入学生姓名:");
        newStudent.setName(scanner.next());
        System.out.println("---请输入学生学号:");
        newStudent.setStuNum(scanner.nextInt());
        System.out.println("---请输入学生专业:");
        newStudent.setClasses(scanner.next());
        System.out.println("---请输入学生年龄:");
        newStudent.setAge(scanner.nextInt());
        System.out.println("---请输入学生分数:");
        newStudent.setGrades(scanner.nextInt());

        //数组最后一个位置不为空则无法添加,则不能存放学生
        if (students[students.length - 1] != null) {
    
    
            System.out.println("数组已满,不能存放!");
        }
        //创建好的学生放到数组里面(顺序添加)
        for (int i = 0; i < students.length; i++) {
    
    
            //数组里面有空的位置,就可以存放学生
            if (students[i] == null) {
    
    
                students[i] = newStudent;
                System.out.println("***添加成功!!!");
                break;
            }
        }
    }

    /**
     * 修改一个学生
     */
    public void updateStudent() {
    
    
        //确定修改学生(用编号数组下标确定)
        System.out.println("请输入学生编号(1-30):");
        //正确输入,跳出循环,错误输入则输入对为止
        int num = 0;
        while (true) {
    
    
            num = scanner.nextInt();
            if (num >= 1 && num <= 30) {
    
    
                //没有学生,重新输入
                if (students[num - 1] == null) {
    
    
                    System.out.println("没有查找到学生,请重新输入编号!!!");
                }
                //有学生才跳出循环
                if (students[num - 1] != null) {
    
    
                    break;
                }
            } else {
    
    
                System.out.println("!!!输入错误请重新输入!!!");
            }
        }
        //查找修改的学生
        //有学生就查找(if是为了保险起见)
        if (students[num - 1] != null) {
    
    
            System.out.println("---要修改的学生为:");
            System.out.println("\t编号" + (num) + "\t姓名:" + students[num - 1].getName() + "\t学号:" + students[num - 1].getStuNum() + "\t专业" + students[num - 1].getGrades()
                    + "\t年龄:" + students[num - 1].getAge() + "\t分数:" + students[num - 1].getGrades());
        }
        //修改操作(只能修改学生成绩)
        int grades = 0;
        while (true) {
    
    
            System.out.println("请输入要修改的学生的成绩:(0-100)");
            grades = scanner.nextInt();
            if (grades >= 0 && grades <= 100) {
    
    
                break;
            }
            System.out.println("\t成绩输入错误!!!请重新输入");
        }
        //修改操作
        students[num - 1].setGrades(grades);
        System.out.println("***修改成功!!!");
    }

    /**
     * 删除学生
     */
    public void deleteStudent() {
    
    
        int num = 0;
        while (true) {
    
    
            System.out.println("请输出要删除的学生的编号(1-30):");
            num = scanner.nextInt();
            if ((num >= 1 && num <= 30) && students[num - 1] != null) {
    
    
                break;
            }
            System.out.println("\t输入编号错误或者没有这个学生,请重修输入");
        }
        if (students[num - 1] != null) {
    
    
            System.out.println("---要删除的学生为:");
            System.out.println("\t编号" + (num) + "\t姓名:" + students[num - 1].getName() + "\t学号:" + students[num - 1].getStuNum() + "\t专业" + students[num - 1].getGrades()
                    + "\t年龄:" + students[num - 1].getAge() + "\t分数:" + students[num - 1].getGrades());
        }
        //删除操作
        students[ num - 1] = null;
        System.out.println("\t***删除成功!!!");
    }
}

3. Link: https://pan.baidu.com/s/1HZoT_iXNcO-G27fFqX_lrg
Extraction code: 9dww

Guess you like

Origin blog.csdn.net/zeduo2525/article/details/109170005