学生管理系统(简易控制台版)

简介: 创建一个简单的学生管理系统,提供添加学生、查看学生、删除学生、修改学生的功能。同通过两个类:Student类和StudentManager类实现这些功能。
Student类

public class Student {
     private  String sid;  //定义四个私有成员,分别对应学号、姓名、年龄、地址
     private  String name;
     private  String age;
     private  String address;
    //无参构造方法
     public Student(){
         }
     //有参构造方法
     public Student(String sid,String name,String age,String address){
     this.sid=sid;
     this.name=name;
     this.age=age;
     this.address=address;
     }
        //使用alt+insert快捷键生成构造方法和get/set方法
    public String getSid() {
        return sid;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    public String getName() {
        return name;
    }

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

    public String getAge() {
        return age;
    }

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

    public String getAddress() {
        return address;
    }

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

StudentManager类

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

public class StudentManager {

    public static void main(String[] args) {
        //创建集合对象,用于存储学生数据
        ArrayList<Student>  array =new ArrayList<>();
        //主界面的编写
        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);
            String line = sc.nextLine();
            switch (line) {
                case "1":
                    System.out.println("添加学生");
                    addStudent(array);
                    break;
                case "2":
                    System.out.println("删除学生");
                    deleteStudent(array);
                    break;
                case "3":
                    System.out.println("修改学生");
                    changeStudent(array);
                    break;
                case "4":
                    System.out.println("查看所有学生");
                    findAllStudent(array);
                    break;
                case "5":
                    System.out.println("谢谢使用");
                    System.exit(0); //JVM退出
            }
        }
    }

    //添加学生,使用集合的方式实现添加学生的功能
    public  static  void addStudent(ArrayList<Student> array){
        Scanner sc =new Scanner(System.in);
        System.out.println("请输入学生学号:");
        String sid=sc.nextLine();
        System.out.println("请输入学生姓名:");
        String name=sc.nextLine();
        System.out.println("请输入学生年龄:");
        String age=sc.nextLine();
        System.out.println("请输入学生住址:");
        String address=sc.nextLine();
        //创建学生对象,并将数据赋值给学生对象的成员变量
        Student s=new Student(sid,name,age,address);
        /*
        *另一种方式使用是s.setxx()语句进行赋值
        *         s.setSid(sid);
        *         s.setname(name);
        *         s.setage(age);
        *         s,setaddress(address);
         */

        //将学生对象添加到集合
        array.add(s);
        System.out.println("添加成功");
    }
    //删除学生
    public static  void deleteStudent(ArrayList<Student> array){
        System.out.println("请输入要删除的学生的学号:");
    Scanner sc =new Scanner(System.in);
    String  sid =sc.nextLine();
    for (int i=0 ;i<array.size();i++){
        Student s=array.get(i);
        if (s.getSid().equals(sid)){
            array.remove(i);
            break;
        }
    }
        System.out.println("删除成功");

    }
    //查看学生
    public static  void findAllStudent(ArrayList<Student> array) {
        if(array.size()>0){
            System.out.println("学号\t\t姓名\t\t年龄\t\t居住地");
            for (int i=0;i<array.size();i++){
                Student s=array.get(i);
                System.out.println(s.getSid()+'\t'+s.getName()+"\t"+s.getAge()+"岁\t"+s.getAddress());
            }
        }
        else
            System.out.println("系统中暂无学生信息");

        //另一种实现方式
        /*
                if(array.size()==0){
                                System.out.println("系统中暂无学生信息");
                                return ;        //结束当前方法
        }
            System.out.println("学号\t\t姓名\t\t年龄\t\t居住地");
            for (int i=0;i<array.size();i++){
                Student s=array.get(i);
                System.out.println(s.getSid()+'\t'+s.getName()+"\t"+s.getAge()+"岁\t"+s.getAddress());
            }

         */

    }
    //修改学生
    public  static  void  changeStudent(ArrayList<Student> array){
        System.out.println("请输入需要修改的学生学号");
        Scanner scanner=new Scanner(System.in);
        String sid=scanner.nextLine();
        for(int i=0;i<array.size();i++){
            if (sid.equals(array.get(i).getSid())){
                System.out.println("请输入学生的姓名:");
                String name=scanner.nextLine();
                System.out.println("请输入学生的年龄:");
                String age=scanner.nextLine();
                System.out.println("请输入学生的住址:");
                String address= scanner.nextLine();
                Student s=new Student(sid,name,age,address);
                array.set(i,s);
                System.out.println("修改成功");
            }
        }
    }
}

在程序中使用了ArrayList类,集合类是一种存储空间可变的存储模型。
ArrayList的常用方法如下:
ArrayList<String> array=new ArrayList<>();创建一个名为array的字符串型集合
array.add(element)将element添加到集合array的末尾
array.add(index ,element)将element添加到集合array索引为index的位置
array.remove(Object)从集合array中移除对象
array.remove(index)从集合中移除索引为index的元素
array.set(index ,element)修改指定索引的值,返回被修改的元素
array.get(index)返回指定索引的值
array.size()返回集合中元素的个数

posted @ 2021-12-22 19:43  hanqi  阅读(639)  评论(0编辑  收藏  举报