1.15 学员管理系统【综合案例】

1.15 学员管理系统【综合案例】

1.学生管理系统

1.1学生管理系统实现步骤【理解】

案例需求

针对目前我们的所学内容,完成一个综合案例:学生管理系统!该系统主要功能如下:
添加学生:通过键盘录入学生信息,添加到集合中
删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除
修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改
查看学生:将集合中的学生对象信息进行展示
退出系统:结束程序

实现步骤
  1. 定义学生类,包含以下成员变量
    private String sid // 学生id
    private String name // 学生姓名
    private String age // 学生年龄
    private String address // 学生所在地
  2. 学生管理系统主界面的搭建步骤
    2.1 用输出语句完成主界面的编写 2.2 用Scanner实现键盘输入 2.3 用switch语句完成选择的
    功能 2.4 用循环完成功能结束后再次回到主界面
  3. 学生管理系统的添加学生功能实现步骤
    3.1 定义一个方法,接收ArrayList集合 3.2 方法内完成添加学生的功能 ①键盘录入学生信息
    ②根据录入的信息创建学生对象 ③将学生对象添加到集合中 ④提示添加成功信息 3.3 在添
    加学生的选项里调用添加学生的方法
  4. 学生管理系统的查看学生功能实现步骤
    4.1 定义一个方法,接收ArrayList集合 4.2 方法内遍历集合,将学生信息进行输出 4.3 在查看
    所有学生选项里调用查看学生方法
  5. 学生管理系统的删除学生功能实现步骤
    5.1 定义一个方法,接收ArrayList集合 5.2 方法中接收要删除学生的学号 5.3 遍历集合,获取
    每个学生对象 5.4 使用学生对象的学号和录入的要删除的学号进行比较,如果相同,则将当前
    学生对象从集合中删除 5.5 在删除学生选项里调用删除学生的方法
  6. 学生管理系统的修改学生功能实现步骤
    6.1 定义一个方法,接收ArrayList集合 6.2 方法中接收要修改学生的学号 6.3 通过键盘录入学
    生对象所需的信息,并创建对象 6.4 遍历集合,获取每一个学生对象。并和录入的修改学生
    学号进行比较.如果相同,则使用新学生对象替换当前学生对象 6.5 在修改学生选项里调用修
    改学生的方法
  7. 退出系统
    使用System.exit(0);退出JVM
package demo07.demo05;

public class Student {
    private int id;
    private String name;
    private int age;
    private String site;

    public Student() {
    }

    public Student(int id, String name, int age, String site) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.site = site;
    }

    public int getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getSite() {
        return site;
    }

    public void setSite(String site) {
        this.site = site;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", site='" + site + '\'' +
                '}';
    }
}
package demo07.demo05;

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

public class StudentTest {
    public static void main(String[] args) {
        // 创建ArrayList集合
        ArrayList<Student> list = new ArrayList<>();

        // 添加一些初始值
        Student s1 = new Student(101, "李华", 16, "北京");
        Student s2 = new Student(102, "张强", 16, "上海");
        Student s3 = new Student(103, "安静", 16, "广州");

        list.add(s1);
        list.add(s2);
        list.add(s3);

        Student stu = new Student();

        Scanner sc = new Scanner(System.in);

        // 使用方法:
        System.out.println("---------学院管理系统欢迎你。----------");
        while (true) {
            System.out.println("请选择功能:\n 1 添加学生;2 删除学生;\n 3 修改学生;4 查看学生; 00 退出系统。");
            System.out.println("------------------------------------");
            int num = sc.nextInt();
            switch (num) {
                case 1:
                    addTest(list, stu);
                    continue;
                case 2:
                    deleteTest(list);
                    continue;
                case 3:
                    setTest(list);
                    continue;
                case 4:
                    getTest(list);
                    continue;
                case 00:
                    exitTest();
                    break;
                default:
                    System.out.println("输入错误。沙雕");
                    continue;

            }
        }
    }

    private static void addTest(ArrayList<Student> list, Student stu) {
        // 添加
        Scanner sc = new Scanner(System.in);

        int aId;
        a:while (true) {
            System.out.println("请输入id");
            aId = sc.nextInt();
            for (int i = 0; i < list.size(); i++) {
                int x = list.get(i).getId();
                if (x == aId) {
                    System.out.println("已存在,请重新输入");
                    break;
                }
                if (i == list.size() - 1 && x != aId) {
                   break a;
                }
            }
        }

        System.out.println("请输入姓名");
        String aName = sc.next();

        System.out.println("请输入年龄");
        int aAge;
        while (true) {
            aAge = sc.nextInt();
            if (aAge > 0 && aAge < 120) {
                break;
            } else {
                System.out.println("错误,请重新输入年龄");
            }
        }

        System.out.println("请输入地址:");
        String aSite = sc.next();

        // 构造方法添加
        Student aStudent = new Student(aId, aName, aAge, aSite);
        list.add(aStudent);
        System.out.println("添加成功:");
        getTest(list);
    }

    private static void deleteTest(ArrayList<Student> list) {
        Scanner sc = new Scanner(System.in);

        // 删除
        System.out.println("请输入id");
        int dID = sc.nextInt();
        for (int i = 0; i < list.size(); i++) {
            int d = list.get(i).getId();
            if (dID == d) {
                Student remove = list.remove(i);
                System.out.println("删除成功:" + remove.toString());
                break;
            }
            if (i == list.size() -1 && dID != d) {
                System.out.println("删除失败或者id不存在。");
            }
        }

    }

    private static void setTest(ArrayList<Student> list) {
        // 修改
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入id");
        int sId = sc.nextInt();
        for (int i = 0; i < list.size(); i++) {
            int xId = list.get(i).getId();
            if (sId == xId) {
                System.out.println("请输入姓名");
                String aName = sc.next();

                System.out.println("请输入年龄");
                int aAge;
                while (true) {
                    aAge = sc.nextInt();
                    if (aAge > 0 && aAge < 120) {
                        break;
                    } else {
                        System.out.println("错误,请重新输入年龄");
                    }
                }

                System.out.println("请输入地址:");
                String aSite = sc.next();

                // 构造
                Student student = new Student(sId, aName, aAge, aSite);

                list.set(i, student);
                System.out.println("修改成功:" + student.toString());
                break;
            }
            if (i == list.size() -1 && sId != xId) {
                System.out.println("修改失败或者id不存在。");
            }

        }

    }

    private static void getTest(ArrayList<Student> list) {
        // 查看
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i).toString());
        }
    }

    private static void exitTest() {
        System.exit(-1);
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值