11.2日学习小结.(学生管理系统)小练习

本文介绍了在JavaSE中使用ArrayList实现的一个基础操作案例,包括添加学生、删除学生、修改学生以及查找学生的方法,重点在于利用索引处理集合操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本周学习重点内容,基础javaSE的最后一个有关集合的综合案例

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

public class test1 {
    public static void main(String[] args) {
        ArrayList<student> sc = new ArrayList<>();
        while (true) {
            System.out.println("欢迎进入程序!请输入您要进入的选项!");
            Scanner in = new Scanner(System.in);
            System.out.println("1.添加学生");
            System.out.println("2.删除学生");
            System.out.println("3.修改学生");
            System.out.println("4.查看学生");
            System.out.println("5.退出程序");
            int num = in.nextInt();
            switch (num) {
                case 1:
                    arrAdd(sc);
                    break;
                case 2:
                    arrRemove(sc);
                    break;
                case 3:
                    arrSet(sc);
                    break;
                case 4:
                    arrGet(sc);
                    break;
                case 5:
                    System.out.println("感谢您的使用");
                    System.exit(0);
                default:
                    System.out.println("您输入的数字有错误,请重新输入");
                    break;
            }
            System.out.println("-----------------");
        }
    }
    //创建查看学生的方法
    public static void arrGet(ArrayList<student> sc){
        Scanner in=new Scanner(System.in);
        if(sc.size()!=0){
            System.out.println("请输入您要查找的学生的编号!");
            String id=in.next();
            for (int i = 0; i < sc.size(); i++) {
                student stu=sc.get(i);
                    if(stu.getId().equals(id)){
                        System.out.println(stu.getAge()+"----"+stu.getName()+"----"+stu.getId()+"----"+stu.getDate());
                    }
                }
            }

        else{
            System.out.println("对不起,您的库存当中暂时没有任何的学生数据");
        }
    }

    //创建一个能够确定索引的方法,使用这个方法对于删除学生以及修改学生进行相应的修改
    public static int Search(String id,ArrayList<student> sc){
        Scanner in=new Scanner(System.in);
        int num=0;
        if(sc.size()!=0) {
            for (int i = 0; i < sc.size(); i++) {
                student stu = sc.get(i);
                if (stu.getId().equals(id)) {
                    num = i;
                }
                return num;
            }
        }
            return -1;
    }

    //创建删除学生的方法
    public static void arrRemove(ArrayList<student> sc){
        Scanner in=new Scanner(System.in);
        if(sc.size()!=0){
            System.out.println("请输入您要删除的学生的编号");
            String id=in.next();
            int search = Search(id, sc);
            sc.remove(search);
            System.out.println("删除成功!");
        }
        else{
            System.out.println("您的库存当中暂时还没有学生,请先进行添加");
        }
    }

    //创建更改学生的方法
    public static void arrSet(ArrayList<student> sc){
        Scanner in=new Scanner(System.in);
        if(sc.size()!=0){
            System.out.println("请输入您要更改的学生的编号!");
            String id=in.next();
            int search = Search(id, sc);
            System.out.println("请输入要更改的学生的姓名");
            String name=in.next();
            System.out.println("请输入年龄");
            int age=in.nextInt();
            System.out.println("请输入生日");
            String date=in.next();
            student stu=new student(name,age,date,id);
            sc.set(search,stu);
            System.out.println("更改成功!");
        }
        else{
            System.out.println("对不起,库存中没有数据!请先添加数据!");
        }
    }

    //创建添加学生的方法
    public static ArrayList<student> arrAdd(ArrayList<student> sc){
        Scanner in=new Scanner(System.in);
        System.out.println("请输入要添加学生的个数");
        int cent=in.nextInt();
        for (int i = 0; i < cent; i++) {
            System.out.println("请输入姓名");
            String name=in.next();
            System.out.println("请输入年龄");
            int age=in.nextInt();
            System.out.println("请输入生日");
            String date=in.next();
            System.out.println("请输入编号");
            String id=in.next();
            student stu=new student(name,age,date,id);
            sc.add(stu);
        }
        return sc;
    }
}

其中比较关键的一步就是要联想到根据一个各个数据所独有的编码,来查询相应的集合,也就是要寻找相应编码的索引位置,根据这一个方法,来对于"删除"  "更改学生"提供一个索引位置,数据,让集合跟随索引进行相应的步骤!(也就是demo当中的Search方法)

其他的方法都比较的简单,有一点需要注意的是,只有添加学生最后的集合需要进行返回,这样才能让原来的集合当中存在东西

tips:

除了之前学习的根据一个引  lo:来结束一个循环等等,现在也可以使用System.exit(num);

来结束程序,需要注意的是这种方法会停止所有的程序,直接到代码的最后!

over

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值