Java【案例6-2】 学生管理系统

【案例6-2】 学生管理系统

【案例介绍】
1.任务描述
编写一个程序,模拟学生管理系统。可以实现对学生信息的添加、删除、修改和查询功能,要求使用List集合存储自定义的对象集合,并熟练使用List集合的中常用方法实现相关的操作。

StudentSysTest.java

package com.j2se.myInstances.example6_2;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

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

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

        while (true) {
    
    
            printInfo();
            switch (sc.nextInt()) {
    
    
                case 1:
                    addStudent(list);
                    break;
                case 2:
                    deleteStudent(list);
                    break;
                case 3:
                    updateStudent(list);
                    System.out.println("修改学生");
                    break;
                case 4:
                    showStudent(list);
                    break;
                case 5:
                    System.out.println("退出系统");
                    System.exit(0);
                    break;
                default:
                    System.out.println("输入有误,请重新输入!");
                    break;
            }
        }
    }

    private static void updateStudent(List<Student> list) {
    
    
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要删除的学生的学号:");
        long sno = sc.nextLong();
        int idx = -1;
        for (int i = 0; i<list.size(); i++) {
    
    
            Student s = list.get(i);
            if (s.getSno() == sno) {
    
    
                idx = i;
                break;
            }
        }
        if (idx != -1) {
    
    
            Student s = new Student();
            System.out.println("修改姓名:");
            String name = sc.next();
            s.setName(name);
            System.out.println("修改年龄:");
            int age = sc.nextInt();
            s.setAge(age);
            System.out.println("修改地址:");
            String address = sc.next();
            s.setAddress(address);

            list.set(idx, s);
            System.out.println("修改完成!\n");
        }
        else {
    
    
            System.out.println("没有这号人,请重新操作!\n");
        }


    }

    private static void deleteStudent(List<Student> list) {
    
    
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要删除的学生的学号:");
        long sno = sc.nextLong();
        int idx = -1;
        for (int i=0; i<list.size();i++) {
    
    
            Student stu = list.get(i);
            if (sno == stu.getSno()) {
    
    
                idx = i;
                break;
            }
        }
        if (idx != -1) {
    
    
            System.out.println("删除成功!\n");
            list.remove(idx);
        } else {
    
    
            System.out.println("没有这号人!请重新选择!");
        }
    }

    private static void showStudent(List<Student> list) {
    
    
        boolean empty = isEmpty(list);
        if (empty) {
    
    
            System.out.println("暂无数据,请先添加学生数据。\n");
            return;
        } else {
    
    
            for (Student student : list) {
    
    
                System.out.println(student.getSno() + ", " + student.getName() + ", " + student.getAge() + ", " + student.getAddress());
            }
            System.out.println();
        }
    }

    private static boolean isEmpty(List<Student> list) {
    
    
        if (list.isEmpty())
            return true;
        else return false;
    }

    private static void addStudent(List<Student> list) {
    
    
        Student s = new Student();
        Scanner sc = new Scanner(System.in);
        long sno;
        while (true) {
    
    
            System.out.print("学号:");
            sno = sc.nextLong();
            boolean flag = false;
            for (Student stu : list) {
    
    
                if (sno == stu.getSno()) {
    
    
                    flag = true;
                    break;
                }
            }
            if (flag) {
    
    
                System.out.println("学号重复了!请重新输入:");
            } else {
    
    

                System.out.print("姓名:");
                String name = sc.next();
                System.out.print("年龄:");
                int age = sc.nextInt();
                System.out.print("地址:");
                String address = sc.next();

                s.setSno(sno);
                s.setName(name);
                s.setAge(age);
                s.setAddress(address);
                list.add(s);
                System.out.println("添加完成!\n");
                break;
            }
        }


    }

    public static void printInfo() {
    
    
        System.out.println("\t学生信息管理系统\t");
        System.out.println("1. 添加学生");
        System.out.println("2. 删除学生");
        System.out.println("3. 修改学生");
        System.out.println("4. 查看学生");
        System.out.println("5. 退出系统");
        System.out.println("请输入你的选择:");
    }
}

Student.java

package com.j2se.myInstances.example6_2;

public class Student {
    
    
    private long sno;
    private String name;
    private int age;
    private String address;

    public Student() {
    
    
    }

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

    public long getSno() {
    
    
        return sno;
    }

    public void setSno(long sno) {
    
    
        this.sno = sno;
    }

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

おすすめ

転載: blog.csdn.net/qq_42899028/article/details/119699288