2022-07-16 第三小组 高佳誉 学习笔记

Java算法基础习题

重点

  1. 增加
  2. 删除
  3. 修改
  4. 查询

思维导图

知识点

1.扩容

原理:
新旧替换,使用一个新的容量更大的数组来接收旧的数组中的数据,通过遍历数组进行值的交换
详见代码
点击查看代码
int[] id1 = new int[id.length + 1];
                    for (int i = 0; i < id.length; i++) {
                        id1[i] = id[i];
                    }
                    id = id1;
                    String[] name1 = new String[name.length + 1];
                    for (int i = 0; i < name.length; i++) {
                        name1[i] = name[i];
                    }
                    name = name1;

2.增加

通过Scanner进行键盘输入,通过循环,将数据存入数组。
详见代码
点击查看代码
System.out.println("请输入员工姓名:");
                    String names = sc.next();
                    name[sum] = names;
                    sum++;
                    id[sum] = id[sum - 1] + 1;
                    System.out.println(name[sum - 1] + "信息录入完毕   姓名:" + name[sum - 1] + "    ID:" + id[sum - 1]);

3. 查询

查询需要先定位目标的位置,本文方法为通过数组下标进行定位
定位完成后输出该位置元素即可
详见代码
点击查看代码
System.out.println("请输入您要查询的工号:");
                    int num = sc.nextInt();
                    for (int i = 0; i < id.length; i++) {
                        if(num==id[i]){
                            System.out.println("您要查询的员工工号为:"+id[i]+"   姓名为:"+name[i]);
                            f:while (true){
                                System.out.println("请选择:1.继续查询  2.返回主界面");
                                int in1 = sc.nextInt();
                                if (in1 == 1) {
                                    continue e;
                                } else if (in1 == 2) {
                                    continue a;
                                } else {
                                    System.out.println("无效代码,请重新输入");continue f;
                                }}
                        }

4.修改

修改操作要先进行查询,在查询之后确定要修改的元素相对位置
之后再将键盘输入的内容进行覆盖即可
详见代码
点击查看代码
System.out.println("请输入您要修改的工号:");
                    int num1 = sc.nextInt();
                    for (int i = 0; i < id.length; i++) {
                        if(num1==id[i]){
                            System.out.println("您要修改的员工工号为:"+id[i]+"   姓名为:"+name[i]);
                            System.out.println("请输入新的姓名:");
                            String namegai = sc.next();
                            name[i] = namegai;
                            System.out.println("修改成功");
                            System.out.println("此员工目前工号为:"+id[i]+"   姓名为:"+name[i]);continue a;
                        }
                    }
                    System.out.println("抱歉,未查到此工号");continue a;

5.删除

删除的技术难度较高,我们要进行的工作有:
定位——>定为空值——>后面数组元素向前移动
详见代码
点击查看代码
System.out.println("请输入您要删除的人员的工号:");
                    int numshan = sc.nextInt();
                    for (int i = 0; i < id.length; i++) {
                        if(numshan==id[i]){
                            for (int j = i;  j<id.length-1 ; j++) {
                                id[j]=id[j+1];
                            }
                            for (int j = i;  j<name.length-1 ; j++) {
                                name[j]=name[j+1];
                            }

                              }
                    }
                    System.out.println("删除成功");continue a;

掌握程度

大部分的知识点都已经掌握,拿到整体项目中也可以思路清晰。自我认知:该部分已经基本过关,之后正常练习即可。

收获

学习的时候应该多看看一些资料,多多的向高手请教,这样才好。要学会总结和领会,当然,学习java一个人有一个人的想法,也有自己的独特学习方法。总之适合自己的就是最好的。

学习效果展示

posted @ 2022-07-16 20:13  憨憨的时倾  阅读(31)  评论(0)    收藏  举报