java案例21:学生管理系统

思路:

编写一个学生管理系统,
实现对学生信息的添加、删除、修改和查询功能。

首页:
用于显示系统的所有操作,并根据用户在控制台的输入选择需要使用的功能

查询功能:
用户选择后,在控制台打印所有学生信息

添加功能:
用户选择后,要求用户在控制台输入学生学号、姓名、年龄和家庭地址等基本信息
输入学号时,判断是否已存在,给出相应提示(添加失败或添加成功)

删除功能:
用户选择后,在控制台输入要删除的学生学号,
如果学号存在,删除并返回(删除成功);反之提示“删除失败,学号为空。”

修改功能:
用户选择后,提示永华在控制台输入需要修改的学生学号、姓名、年龄和家庭地址
使用输入的学号判断该学生是否存在,
如果有,覆盖信息;如果没有,提示“学生信息不存在”

退出功能:
用户选择后,程序正常关闭。


掌握list集合常用方法的使用

代码:

代码结构:

Student类:

package base.base021;


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

    public Student() {
    }

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

    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 int getAge() {
        return age;
    }

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

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

测试类:

package base.base021;

/*
学生管理系统

编写一个学生管理系统,
实现对学生信息的添加、删除、修改和查询功能。

首页:
用于显示系统的所有操作,并根据用户在控制台的输入选择需要使用的功能

查询功能:
用户选择后,在控制台打印所有学生信息

添加功能:
用户选择后,要求用户在控制台输入学生学号、姓名、年龄和家庭地址等基本信息
输入学号时,判断是否已存在,给出相应提示(添加失败或添加成功)

删除功能:
用户选择后,在控制台输入要删除的学生学号,
如果学号存在,删除并返回(删除成功);反之提示“删除失败,学号为空。”

修改功能:
用户选择后,提示永华在控制台输入需要修改的学生学号、姓名、年龄和家庭地址
使用输入的学号判断该学生是否存在,
如果有,覆盖信息;如果没有,提示“学生信息不存在”

退出功能:
用户选择后,程序正常关闭。


掌握list集合常用方法的使用

 */

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

public class Test21 {
    static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) {

        ArrayList<Student> list = new ArrayList<>();

        w:
        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("请输入您的选择:");
            int choice = sc.nextInt();

            switch (choice){
                case 1:
                    //查看
                    select(list);
                    //System.out.println("查看学生");
                    break;

                case 2:
                    //添加
                    add(list);
                    //System.out.println("添加学生");
                    break;

                case 3:
                    //修改
                    update(list);
                    //System.out.println("修改学生");
                    break;

                case 4:
                    //删除
                    delete(list);
                    //System.out.println("删除学生");
                    break;

                case 5:
                    //退出
                    System.out.println("感谢您的使用!");
                    break w;
                default:
                    System.out.println("您的输入有误,请重新输入");
            }

        }
    }

    /*
    删除学生信息
    输入学号
    判断学号是否存在
    存在:将当前学生删除
    不存在:给出提示
     */
    private static void delete(ArrayList<Student> list) {
        System.out.println("输入想要删除的学生学号:");
        String id = sc.next();

        //判断学号是否存在
        for(int i=0;i<list.size();i++){
            Student stu = list.get(i);
            if(stu.getId().equals(id)){
                //删除学生
                list.remove(i);
                System.out.println("删除成功!");
                return;//结束当前方法
            }
        }
        System.out.println("您输入的学号不存在!");

        }




    /*
    修改学生信息

    输入学生学号,判断是否存在
    存在:继续输入其他信息,覆盖原信息
    不存在:给出提示
     */
    private static void update(ArrayList<Student> list) {
        System.out.println("请输入要修改的学生学号:");
        String id = sc.next();

        //判断学号是否存在
        for(int i=0;i<list.size();i++){
            Student stu = list.get(i);
            if(stu.getId().equals(id)){
                //存在
                System.out.println("请输入学生姓名:");
                String name = sc.next();
                System.out.println("请输入学生年龄:");
                int age = sc.nextInt();
                System.out.println("请输入学生住址:");
                String address = sc.next();

                //覆盖信息
                stu.setId(id);
                stu.setName(name);
                stu.setAge(age);
                stu.setAddress(address);

                System.out.println("修改成功!");
                return;//修改成功,讲方法结束
            }
        }

        System.out.println("您输入的学号不存在!");

    }

    /*
    添加学生

    输入学号
    判断学号是否存在
    存在:给出提示
    不存在:继续输入其他信息
    封装学生对象
    将学生对象添加到集合中
     */
    private static void add(ArrayList<Student> list) {
        String id;
        while (true) {
            System.out.println("请输入学生学号:");
            id = sc.next();

            //判断是否存在
            boolean flag = false;
            for(int i=0;i<list.size();i++){
                Student stu = list.get(i);
                if(stu.getId().equals(id)){
                    flag = true;
                    break;

                }
            }

            if(flag == true){
                System.out.println("学号已存在,请重新输入!");
            }else{
                break;
            }
        }

        System.out.println("请输入学生姓名:");
        String name = sc.next();
        System.out.println("请输入学生年龄:");
        int age = sc.nextInt();
        System.out.println("请输入学生住址:");
        String address = sc.next();

        //封装为一个学生对象
        Student s = new Student(id,name,age,address);

        //将学生对象添加到集合中
        list.add(s);

        System.out.println("添加成功!");

    }

    //查看学生信息
    /*
    判断长度是否为0
    是:提示当前无数据
    否:显示现有数据
     */
    private static void select(ArrayList<Student> list) {
        if(list.size() == 0){
            System.out.println("学生信息为空,请先添加学生信息。");
        }else{
            System.out.println("学号\t\t姓名\t\t年龄\t\t地址");
            for(int i = 0;i < list.size();i++){
                Student stu = list.get(i);
                System.out.println(stu.getId()+"\t\t"+stu.getName()+"\t\t"+stu.getAge()+"\t\t"+stu.getAddress());

            }
        }
    }
}

以下是一个简单的学生管理系统Java代码示例: ```java import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Scanner; public class StudentManagementSystem { private List<Student> studentList; public StudentManagementSystem() { studentList = new ArrayList<Student>(); } public void addStudent(Student student) { studentList.add(student); } public void deleteStudent(Student student) { studentList.remove(student); } public void updateStudent(Student student) { for (int i = 0; i < studentList.size(); i++) { if (studentList.get(i).getId() == student.getId()) { studentList.set(i, student); break; } } } public void searchStudent(int id) { for (Student student : studentList) { if (student.getId() == id) { System.out.println(student); return; } } System.out.println("未找到该学生!"); } public void displayAll() { Iterator<Student> it = studentList.iterator(); while (it.hasNext()) { System.out.println(it.next()); } } public static void main(String[] args) { StudentManagementSystem sms = new StudentManagementSystem(); Scanner sc = new Scanner(System.in); int choice = 0; do { System.out.println("1.添加学生信息"); System.out.println("2.删除学生信息"); System.out.println("3.修改学生信息"); System.out.println("4.查询学生信息"); System.out.println("5.显示所有学生信息"); System.out.println("0.退出"); System.out.print("请选择操作:"); choice = sc.nextInt(); switch (choice) { case 1: System.out.print("请输入学生ID:"); int id = sc.nextInt(); System.out.print("请输入学生姓名:"); String name = sc.next(); System.out.print("请输入学生年龄:"); int age = sc.nextInt(); sms.addStudent(new Student(id, name, age)); System.out.println("添加成功!"); break; case 2: System.out.print("请输入要删除的学生ID:"); id = sc.nextInt(); sms.deleteStudent(new Student(id, "", 0)); System.out.println("删除成功!"); break; case 3: System.out.print("请输入要修改的学生ID:"); id = sc.nextInt(); System.out.print("请输入修改后的学生姓名:"); name = sc.next(); System.out.print("请输入修改后的学生年龄:"); age = sc.nextInt(); sms.updateStudent(new Student(id, name, age)); System.out.println("修改成功!"); break; case 4: System.out.print("请输入要查询的学生ID:"); id = sc.nextInt(); sms.searchStudent(id); break; case 5: sms.displayAll(); break; case 0: System.out.println("程序已退出!"); break; default: System.out.println("输入有误,请重新选择!"); break; } } while (choice != 0); sc.close(); } } class Student { private int id; private String name; private int age; public Student(int id, String name, int age) { this.id = id; this.name = name; this.age = age; } public int getId() { return id; } public String getName() { return name; } public int getAge() { return age; } public String toString() { return "ID:" + id + ",姓名:" + name + ",年龄:" + age; } } ``` 该程序使用了List集合存储自定义的Student对象,并通过不同的方法实现了对学生信息的添加、删除、修改和查询功能。在主函数中,使用了Scanner类获取用户输入,通过switch语句实现了不同的操作。程序运行结果如下: ``` 1.添加学生信息 2.删除学生信息 3.修改学生信息 4.查询学生信息 5.显示所有学生信息 0.退出 请选择操作:1 请输入学生ID:1 请输入学生姓名:Alice 请输入学生年龄:18 添加成功! 1.添加学生信息 2.删除学生信息 3.修改学生信息 4.查询学生信息 5.显示所有学生信息 0.退出 请选择操作:1 请输入学生ID:2 请输入学生姓名:Bob 请输入学生年龄:19 添加成功! 1.添加学生信息 2.删除学生信息 3.修改学生信息 4.查询学生信息 5.显示所有学生信息 0.退出 请选择操作:5 ID:1,姓名:Alice,年龄:18 ID:2,姓名:Bob,年龄:19 1.添加学生信息 2.删除学生信息 3.修改学生信息 4.查询学生信息 5.显示所有学生信息 0.退出 请选择操作:4 请输入要查询的学生ID:1 ID:1,姓名:Alice,年龄:18 1.添加学生信息 2.删除学生信息 3.修改学生信息 4.查询学生信息 5.显示所有学生信息 0.退出 请选择操作:3 请输入要修改的学生ID:2 请输入修改后的学生姓名:Bob Smith 请输入修改后的学生年龄:20 修改成功! 1.添加学生信息 2.删除学生信息 3.修改学生信息 4.查询学生信息 5.显示所有学生信息 0.退出 请选择操作:5 ID:1,姓名:Alice,年龄:18 ID:2,姓名:Bob Smith,年龄:20 1.添加学生信息 2.删除学生信息 3.修改学生信息 4.查询学生信息 5.显示所有学生信息 0.退出 请选择操作:2 请输入要删除的学生ID:1 删除成功! 1.添加学生信息 2.删除学生信息 3.修改学生信息 4.查询学生信息 5.显示所有学生信息 0.退出 请选择操作:5 ID:2,姓名:Bob Smith,年龄:20 1.添加学生信息 2.删除学生信息 3.修改学生信息 4.查询学生信息 5.显示所有学生信息 0.退出 请选择操作:0 程序已退出! ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值