第六周:学生管理系统(增删改查)——分包处理

目录

一、STUDENT包

1.Student类:

二、USER包

1.Demo类:

2.Face类:

三、OPERATE包

1.Add类

2.Delete类

3.Revise类

4.Seek类

5.Show类

四、运行结构展示


一、STUDENT包

1.Student类:

学生类,用来构造学生属性

package STUDENT;

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

    public Student() {
    }

    public Student(String id, String name, double score) {
        this.id = id;
        this.name = name;
        this.score = score;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    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;
    }
}

二、USER包

1.Demo类:

演示类,用来存放主函数

package USER;

import java.util.ArrayList;
import java.util.Scanner;

import OPERATE.Add;//导入OPERATE包中的Add文件
import OPERATE.Delete;//导入OPERATE包中的Delete文件
import OPERATE.Seek;//导入OPERATE包中的Seek文件
import OPERATE.Revise;//导入OPERATE包中的Revise文件
import OPERATE.Show;//导入OPERATE包中的Show文件
import STUDENT.Student;//导入STUDENT包中的Student文件

public class Demo {
    public static void main(String[] args) {
        Face face = new Face();
        face.menu();
        ArrayList<Student> list = new ArrayList<Student>();
        while (true) {
            System.out.println("请选择需要进行的操作:");
            Scanner in = new Scanner(System.in);
            int num = in.nextInt();
            switch (num) {
                case 1:
                    Add.addStudent(list);//增加操作,传入list动态数组
                    break;
                case 2:
                    Delete.deleteStudent(list);//删除操作,传入list动态数组
                    break;
                case 3:
                    Revise.reviseStudent(list);//修改操作,传入list动态数组
                    break;
                case 4:
                    Seek.findStudent(list);//查找操作,传入list动态数组
                    break;
                case 5:
                    Show.showStudent(list);//展示操作,传入list动态数组
                    break;
                case 6:
                    System.out.println("感谢你的使用!");
                    System.exit(0);

            }
            System.out.println("1.增加 2.删除 3.修改 4.查询 5.展示 6.退出");//方便下一步知晓操作
        }
    }
}

2.Face类:

界面类,用来打印菜单

package USER;

public class Face {
    public void menu() {
        System.out.println("**********欢迎来到学生管理系统!********");
        System.out.println("**   *   *   *   *   *   *   *   *   **");
        System.out.println("* * * * * * * * * * * * * * * * * * * *");
        System.out.println("*  *   *   *   *   *   *   *   *   *  *");
        System.out.println("*         请选择所需要进行的操作      *");
        System.out.println("*         1.添加学生信息              *");
        System.out.println("*         2.删除学生信息              *");
        System.out.println("*         3.修改学生信息              *");
        System.out.println("*         4.查寻学生信息              *");
        System.out.println("*         5.展示所有学生信息          *");
        System.out.println("*         6.退出学生管理系统          *");
        System.out.println("**   *   *   *   *   *   *   *   *   **");
        System.out.println("* * * * * * * * * * * * * * * * * * * *");
        System.out.println("*  *   *   *   *   *   *   *   *   *  *");
        System.out.println("***************************************");
    }
}

三、OPERATE包

1.Add类

添加类,用来添加数据

  • 有参构造
package OPERATE;

import java.util.ArrayList;
import java.util.Scanner;

import STUDENT.Student;//导入STUDENT包中的Student文件

public class Add {
    public static void addStudent(ArrayList<Student> list) {
        Scanner in = new Scanner(System.in);
        
        System.out.println("请输入要添加的学生学号");
        String id = in.nextLine();
        
        System.out.println("请输入要添加的学生姓名");
        String name = in.nextLine();
        
        System.out.println("请输入要添加的学生成绩");
        double score = in.nextDouble();
        
        Student student = new Student(id, name, score);//采用有参构造赋值
        list.add(student);
        System.out.println("添加成功!");
    }
}
  •  无参构造
package OPERATE;

import java.util.ArrayList;
import java.util.Scanner;

import STUDENT.Student;//导入STUDENT包中的Student文件

public class Add {
    public static void addStudent(ArrayList<Student> list) {
        Student student = new Student();//采用无参构造赋值
        Scanner in = new Scanner(System.in);
        System.out.println("请输入要添加的学生学号");
        String id = in.next();
        student.setId(id);

        System.out.println("请输入要添加的学生姓名");
        String name = in.next();
        student.setName(name);

        System.out.println("请输入要添加的学生成绩");
        double score = in.nextDouble();
        student.setScore(score);

        list.add(student);
        System.out.println("添加成功!");
    }
}

2.Delete类

删除类,用来删除数据

package OPERATE;

import java.util.ArrayList;
import java.util.Scanner;

import STUDENT.Student;//导入STUDENT包中的Student文件

public class Delete {
    public static void deleteStudent(ArrayList<Student> list) {
        Scanner in = new Scanner(System.in);
        System.out.println("请输入你要删除的学生学号");
        String id = in.next();
        for (int i = 0; i < list.size(); i++) {//遍历动态数组
            if (list.get(i).getId().equals(id)) {
                list.remove(i);
            }
        }
        System.out.println("删除成功!");
    }
}

3.Revise类

修改类,用来修改数据

package OPERATE;

import java.util.ArrayList;
import java.util.Scanner;

import STUDENT.Student;//导入STUDENT包中的Student文件

public class Revise {
    public static void reviseStudent(ArrayList<Student> list) {
        Scanner in = new Scanner(System.in);
        System.out.println("请输入要修改学生学号");
        String id = in.next();
        System.out.println("请输入学生的新姓名");
        String name = in.next();
        System.out.println("请输入学生的新成绩");
        double score = in.nextDouble();
        Student student = new Student(id, name, score);
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).getId().equals(id)) {
                list.set(i, student);
                break;
            }
        }
        System.out.println("修改成功!");
    }
}

4.Seek类

查找类,用来查找数据

package OPERATE;

import java.util.ArrayList;
import java.util.Scanner;

import STUDENT.Student;//导入STUDENT包中的Student文件

public class Seek {
    public static void findStudent(ArrayList<Student> list) {
        Scanner in = new Scanner(System.in);
        System.out.println("请输入你要查找的学生学号");
        String id = in.next();
        for (int i = 0; i < list.size(); i++) {//遍历动态数组
            if (list.get(i).getId().equals(id)) {
                System.out.println("查询成功!");
                System.out.println("该学生学号:" + list.get(i).getId() + "该学生名字:" + list.get(i).getName() + "该学生成绩:"
                        + list.get(i).getScore());
            }
        }
    }
}

5.Show类

展示类,用来展示数据

package OPERATE;

import java.util.ArrayList;

import STUDENT.Student;//导入STUDENT包中的Student文件

public class Show {
    public static void showStudent(ArrayList<Student> list) {
        System.out.println("查询成功!");
        for (int i = 0; i < list.size(); i++) {//遍历动态数组
            System.out.println(
                    "学号:" + list.get(i).getId() + "  姓名:" + list.get(i).getName() + "  成绩" + list.get(i).getScore());
        }
        System.out.println("一共有 " + list.size() + " 个学生信息");
    }
}

四、运行结构展示

/*
**********欢迎来到学生管理系统!********
**   *   *   *   *   *   *   *   *   **
* * * * * * * * * * * * * * * * * * * *
*  *   *   *   *   *   *   *   *   *  *
*         请选择所需要进行的操作      *
*         1.添加学生信息              *
*         2.删除学生信息              *
*         3.修改学生信息              *
*         4.查寻学生信息              *
*         5.展示所有学生信息          *
*         6.退出学生管理系统          *
**   *   *   *   *   *   *   *   *   **
* * * * * * * * * * * * * * * * * * * *
*  *   *   *   *   *   *   *   *   *  *
***************************************
 * 请选择需要进行的操作:
 * 1
 * 请输入要添加的学生学号
 * 2022400001
 * 请输入要添加的学生姓名
 * 康茹
 * 请输入要添加的学生成绩
 * 520
 * 添加成功!
 * 1.增加 2.删除 3.修改 4.查询 5.展示 6.退出
 * 请选择需要进行的操作:
 * 1
 * 请输入要添加的学生学号
 * 2022400002
 * 请输入要添加的学生姓名
 * 李湘
 * 请输入要添加的学生成绩
 * 521
 * 添加成功!
 * 1.增加 2.删除 3.修改 4.查询 5.展示 6.退出
 * 请选择需要进行的操作:
 * 5
 * 查询成功!
 * 学号:2022400001 姓名:康茹 成绩520.0
 * 学号:2022400002 姓名:李湘 成绩521.0
 * 一共有 2 个学生信息
 * 1.增加 2.删除 3.修改 4.查询 5.展示 6.退出
 * 请选择需要进行的操作:
 * 4
 * 请输入你要查找的学生学号
 * 2022400001
 * 查询成功!
 * 该学生学号:2022400001 该学生名字:康茹 该学生成绩:520.0
 * 1.增加 2.删除 3.修改 4.查询 5.展示 6.退出
 * 请选择需要进行的操作:
 * 2
 * 请输入你要删除的学生学号
 * 2022400001
 * 删除成功!
 * 1.增加 2.删除 3.修改 4.查询 5.展示 6.退出
 * 请选择需要进行的操作:
 * 5
 * 查询成功!
 * 学号:2022400002 姓名:李湘 成绩521.0
 * 一共有 1 个学生信息
 * 1.增加 2.删除 3.修改 4.查询 5.展示 6.退出
 * 请选择需要进行的操作:
 * 6
 * 感谢你的使用!
 */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值