系统中指令可重复输入,直至用户退出系统功能 1:新增同学的信息功能 2: 更新所有同学的年龄信息功能 3 :展示所有同学信息功能 4:输入一个学生学号,展示当前学号的学生所有的信息

该代码示例展示了一个基于Java的简单学生信息管理系统,使用ArrayList存储Student对象,通过Scanner获取用户输入来执行添加、更新、查询和退出等操作。用户可以输入指令选择不同功能,如按学号查找学生信息或更新学生年龄。
摘要由CSDN通过智能技术生成

        

public class Student_01 {
    public  String name;
    public  int StudentId;
    public  int age;

}
public class Test_01{

    public static void main(String[] args) {
        //定义集合对象,承接学生信息
        ArrayList<Student_01> list = new ArrayList<>();

        Student_01 stu1 = new Student_01();

        Student_01 stu2 = new Student_01();

        stu1.name = "张三";
        stu2.name = "张四";

        stu1.age = 18;
        stu2.age = 19;

        stu1.StudentId = 101;
        stu2.StudentId = 102;
        list.add(stu1);
        list.add(stu2);


        //定义Scanner对象,当做参数进行传输
        Scanner sc = new Scanner(System.in);




        while(true){

            //接收用户输入的指令
            int choose = choose(sc);

            //通过switch流程语句将指令匹配响应的方法
            switch (choose){
                case 1:
                    insertStudentInfo(list,sc);
                    break;

                case 2:
                    updateStudentAge(list,sc);
                    break;

                case 3:
                    showStduentInfo(list);
                    break;

                case 4:
                    selectStudentByCode(list,sc);
                    break;

                case 5:
                    exit();
                    return;

                default:
                    System.out.println("功能尚未上线,尽请期待");
                    break;

            }
        }

    }


    //接收用户输入的指令,返回用户输入的指令信息
    public static int choose(Scanner sc){
        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("请输入您的指令");

        return sc.nextInt();
    }

    //新增方法,新增同学信息放入集合中
    public static void insertStudentInfo(ArrayList<Student_01> list,Scanner sc){
        //创建Student对象,用于接收同学的属性信息
        Student_01 student = new Student_01();

        System.out.println("请输入同学的姓名");
        student.name = sc.next();

        System.out.println("请输入同学的学号");
        student.StudentId = sc.nextInt();

        System.out.println("请输入同学的年龄");
        student.age = sc.nextInt();

        //将属性信息放入集合中
        list.add(student);
    }

    //更新同学的年龄信息
    public static void updateStudentAge(ArrayList<Student_01> list,Scanner sc){

        //循环当前的集合
        for (int i = 0; i < list.size(); i++) {
            System.out.println("请输入姓名为"+list.get(i).name+"的年龄");

            //方式一 将年龄信息赋给集合中的student对象的age属性
            list.get(i).age = sc.nextInt();

            //方式二 将当前已经承接了最新年龄信息的student对象替换原来的student对象
            // Student student = list.get(i);
//            list.set(i,student);
        }
    }

    //展示所有同学的信息
    public static void showStduentInfo(ArrayList<Student_01> list){
        //通过循环进行遍历
        for (int i = 0; i < list.size(); i++) {
            System.out.println("当前同学的姓名:"+list.get(i).name+",年龄:"+list.get(i).age+",学号:"+list.get(i).StudentId);
        }
    }

    //通过学号匹配某一位同学,展示当前同学的信息
    public static void selectStudentByCode(ArrayList<Student_01> list,Scanner sc){
        System.out.println("请输入一个学号");
        //定义变量接收学号
        int code = sc.nextInt();

        //遍历所有同学
        for (int i = 0; i < list.size(); i++) {
            if(list.get(i).StudentId== code){
                System.out.println("学号相匹配的当前同学的姓名:"+list.get(i).name+
                        ",年龄:"+list.get(i).age+",学号:"+list.get(i).StudentId);
                break;
            }
            if(i == list.size()-1){
                System.out.println("您输入的学号有误,请检查");
            }
        }
    }

    //退出
    public static void exit(){
        System.out.println("您已退出当前系统");
        System.out.println("-------------学生管理系统------------");
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值