学生类操作系统不会解

img

需求 在图片里面了 实在是菜写不出来关于学生系统的题 才开始学 想看 正确代码是什么样子的


import lombok.AllArgsConstructor;
import lombok.Data;

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

public class TestStu {
    List<Stu> list = new ArrayList<>();
    @Data
    @AllArgsConstructor
    static class Stu{
        private String stuName;
        private Integer stuAge;
        private String stuSex;
        private String stuNo;

    }

    public void add(Stu stu){
        list.add(stu);
    }

    public void show(){
        System.out.println("-----------------------");
        for (Stu stu:list){
            System.out.println(stu);
        }
        System.out.println("-----------------------");
    }
    public void update(int index,Stu stu){
        checkIndex(index);
        list.set(index-1,stu);
    }



    public Stu find(int index){
        checkIndex(index);
        return list.get(index-1);
    }

    private void checkIndex(int index){
        if(index<=0|| index>= list.size()){
            throw new RuntimeException("没有该ID的同学");
        }
    }

    public static void main(String[] args) {
        TestStu stu = new TestStu();
//        Scanner scanner = new Scanner(System.in);
        // 模拟输入5个同学
        for (int i=0;i<5;i++){
            stu.add(new Stu("StuName"+i,20+i,i%2==0?"男":"女","stuNo"+i));
        }

        //打印
        stu.show();
        //查找
        System.out.println(stu.find(1));
        System.out.println(stu.find(3));

        Stu updateStu = stu.find(1);
        updateStu.setStuName(updateStu.getStuName()+"Update");
        //修改
        stu.update(1,updateStu);
        System.out.println(stu.find(1));

    }

}

结果:

-----------------------
TestStu.Stu(stuName=StuName0, stuAge=20, stuSex=男, stuNo=stuNo0)
TestStu.Stu(stuName=StuName1, stuAge=21, stuSex=女, stuNo=stuNo1)
TestStu.Stu(stuName=StuName2, stuAge=22, stuSex=男, stuNo=stuNo2)
TestStu.Stu(stuName=StuName3, stuAge=23, stuSex=女, stuNo=stuNo3)
TestStu.Stu(stuName=StuName4, stuAge=24, stuSex=男, stuNo=stuNo4)
-----------------------
TestStu.Stu(stuName=StuName0, stuAge=20, stuSex=男, stuNo=stuNo0)
TestStu.Stu(stuName=StuName2, stuAge=22, stuSex=男, stuNo=stuNo2)
TestStu.Stu(stuName=StuName0Update, stuAge=20, stuSex=男, stuNo=stuNo0)