案例6-2 学生管理系统

在一所学校中,对学生人员流动的管理是很麻烦的,本案例要求编写一个学生管理系统,实现对学生信息的添加、删除、修改和查询功能。

每个功能的具体要求如下:

  1. 系统的首页:用于显示系统所有的操作,并根据用户在控制台的输入选择需要使用的功能。
  2. 查询功能:用户选择该功能后,在控制台打印所有学生的信息。
  3. 添加功能:用户选择该功能后,要求用户在控制台输入学生学号、姓名、年龄和居住地的基本信息。在输入学号时,判断学号是否被占用,如果被占用则添加失败,并给出相应提示;反之则提示添加成功。 4. 删除功能:用户选择该功能后,提示用户在控制台输入需要删除学生的学号,如果用户输入的学号存在则提示删除成功,反之则提示删除失败。
  4. 修改功能:用户选择该功能后,提示用户在控制台输入需要修改的学生学号、姓名、年龄和居住地学生信息,并使用输入的学生学号判断是否有此人,如果有则修改原有的学生信息,反正则提示需要修改的学生信息不存在。
  5. 退出功能:用户选择该功能后,程序正常关闭。

本案例要求使用 LinkedList 集合存储自定义的对象,使用 LinkedList 集合的中常用方法实现相关的操作。

正常情况
学号重复的情况
Xp6hrg

java

public class Student {  
    // 学号  
    private String id;  
    // 姓名  
    private String name;  
    // 年龄  
    private int age;  
    // 居住地  
    private String address;  
  
    // 构造方法  
    public Student(String id, String name, int age, String address) {  
        this.id = id;  
        this.name = name;  
        this.age = age;  
        this.address = address;  
    }  
  
    // TODO: 一些 setter 和 getter 方法
}

java

import java.util.LinkedList;
import java.util.Scanner;

public class Manager {
    // 创建集合对象,用于存储学生数据
    static LinkedList<Student> array = new LinkedList<Student>();
    public static void main(String[] args) {
        while(true) {
            // 这是学生管理系统的主界面
            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("请输入你的选择:");

            Scanner sc = new Scanner(System.in);
            int choice = sc.nextInt();

            // TODO: 完成switch语句,根据用户选择调用相应的方法
        }
    }

    // 查看所有学生
    public static void showAllStudents() {
        // TODO: 判断集合是否为空,为空则提示并返回
        
        System.out.println("学号\t姓名\t年龄\t居住地");
        // TODO: 使用foreach循环遍历array,打印每个学生信息
    }

    // 添加学生
    public static void addStudent() {
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入学生学号:");
        String id = sc.nextLine();

        // TODO: 判断学号是否被占用
        // 提示:遍历array检查id是否存在

        // TODO: 获取除学号外的其他学生信息(姓名、年龄、居住地)
        
        // TODO: 创建Student对象并添加到array中
    }

    // 删除学生
    public static void deleteStudent() {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你要删除的学生的学号:");
        String id = sc.nextLine();

        // TODO: 查找要删除的学生
        // 提示:遍历array查找对应学号的学生索引
        
        // TODO: 根据查找结果执行删除操作或给出提示(学号不存在时要提示)
    }

    // 修改学生信息
    public static void updateStudent() {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你要修改的学生的学号:");
        String id = sc.nextLine();

        // TODO: 查找要修改的学生
        // 提示:遍历array查找对应学号的学生
        
        // TODO: 显示修改菜单并根据用户选择修改相应信息
    }
}

相关内容