学生管理系统demo

1.步骤:

A:定义一个学生类:

public class Student {
    //学生类属性
    private String id;
    private String name;
    private String age;
    private String address;
    
    //学生类方法
    public Student() {
        
    }

    public Student(String id, String name, String age, String address) {
    
        this.id = id;
        this.name = name;
        this.age = age;
        this.address = address;
    }
    //getXxx(),setXxx()方法
    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 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;
    }
}

 B:学生类的test:

public class StudentTest {

    public static void main(String[] args) {
        //创建一个学生集合用来管理学生信息
        ArrayList<Student> arrst=new ArrayList<Student>();
        
        
        //学生管理系统主界面
        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 number = sc.nextLine();
        //通过switch循环来实现选择的具体操作
        switch(number) {
        case "1":
        findStudent(arrst) ;
        break;
        
        case "2":
            addStudent(arrst);
            break;
            
        case "3":
            remoteStudent(arrst);
            break;
            
        case "4":
            updateStudent(arrst);
           break;
        
        case "5":
            //退出
    
            
            default:
                System.out.println("退出成功,谢谢使用!");
                //jvm非异常退出
                System.exit(0);
                break;
        }
        }
    }

    //查看学生信息方法
    public static void findStudent(ArrayList<Student> arrst) {
        if(arrst.size()==0) {
            System.out.println("对不起,没有学生信息可以访问");
            return;
        }
        System.out.println("学号\t姓名\t年龄\t住址");
        for(int x=0;x<arrst.size();x++) {
            Student s=arrst.get(x);
            System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getAddress());
        }    
    }
    
    //添加学生信息
    public static void addStudent(ArrayList<Student> arrst) {
        //创建键盘录入对象
        Scanner sc=new Scanner(System.in);
        String id;
        while(true) {
        System.out.println("请输入学生id:");
         id=sc.nextLine();
        //判断输入的id是否已存在
        boolean flag=false;//定义一个标记
        for(int x=0;x<arrst.size();x++) {
            Student s=arrst.get(x);
            //将输入的学号与存储的学号进行验证
            if(s.getId().equals(id)) {
                //学号被占用
                flag=true;
                break;
            }
         }
            if(flag) {
                System.out.println("对不起,学号已存在!");
            }else {
                break;
            }
        }
        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();
        s.setId(id);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);
        arrst.add(s);
        System.out.println("添加成功!");
    }
    
    //删除学生信息
    public static void remoteStudent(ArrayList<Student> arrst) {
        //键盘出入要删除的学号
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入要删除的学号:");
        
        String id = sc.nextLine();
        int i=-1;
        //用循环来遍历集合,找到该学号
        for(int x=0;x<arrst.size();x++) {
            Student s = arrst.get(x);
            if(s.getId().equals(id)) {
                i=x;
                break;
            }
        }
            if(i==-1) {
                System.out.println("找不到该学号,请重新输入:");
            }else {
                arrst.remove(i);
                System.out.println("删除成功!");
            }
        }
        
    
    //修改学生信息
public static void updateStudent(ArrayList<Student> arrst) {
            //键盘出入要修改的学号
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入要修改的学号:");
        String id = sc.nextLine();
        //定义一个变量
        int i=-1;
        //遍历学生集合,找到该学号
        for(int x=0;x<arrst.size();x++) {
            Student s = arrst.get(x);
            if(s.getId().equals(id)) {
                i=x;
                break;
            }
            }
            if(i==-1) {
                System.out.println("找不到该学号,请重新输入:");
    }else {
        
        //System.out.println("请输入新的学号");
        //String id=sc.nextLine();
        System.out.println("请输入新的姓名:");
        String name=sc.nextLine();
        System.out.println("请输入新的年龄:");
        String age=sc.nextLine();
        System.out.println("请输入新的住址:");
        String address=sc.nextLine();
        //将输入的数据赋值给新的学生对象
        Student st=new Student();
        st.setId(id);
        st.setName(name);
        st.setAge(age);
        st.setAddress(address);
        //根据id替换学生集合中的原有数据
        arrst.set(i, st);
        System.out.println("修改成功!");
    }
        }
    }

猜你喜欢

转载自www.cnblogs.com/yan09620/p/10241602.html