简单的学生成绩管理系统(数组实现)

简单的学生成绩管理系统(数组实现)

用java 数组写了一个简单的学生管理系统,没有连数据库,数据存放在内存,实现简单的增、删、改、查功能。

一、运行图片
部分功能图片二、部分代码

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***删除成功!!!");
    }
}

三、链接: https://pan.baidu.com/s/1HZoT_iXNcO-G27fFqX_lrg
提取码: 9dww

猜你喜欢

转载自blog.csdn.net/zeduo2525/article/details/109170005