2022-07-16 第九组 王佳齐

思维导图

 

 

目录

  1. 取出数组中指定下标的值
  2. 倒序添加数字
  3. 倒序向数组添加数字并进行数组扩容
  4. 在数组中指定下标位置插入数据

学习笔记:

数组练习

取出数组中指定下标的值

    int [] arr=new int[]{1,8,5,-4,9,-7};
//    键盘输入数,获取指定位置下标的数字
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个下标");
    int index = sc.nextInt();
//    输入的数是否合法
//    需要判断几种情况
    if (index >= 0 && index<= arr.length-1){
        System.out.println("对应位置的值是" + arr[index]);

    }else {
        System.out.println("数据有误");
    }

运行结果

 

 

倒序添加数字

        int [] arr=new int[]{1,2,3,4,5};
// 输入一个数,数是从后往前加
// 倒序输入
Scanner sc = new Scanner(System.in);




for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第"+(i+1)+"个数:");
int num = sc.nextInt();


arr[arr.length-1-i]=num;
}
for (int i : arr) {

System.out.print(i+"、");
}

运行结果

 

 

 

 

倒序向数组数组扩容

        int[]arr = new int[2];
        int i=0;
        while (true){
            System.out.println("请输入数");
            Scanner sc = new Scanner(System.in);
            int num = sc.nextInt();
            arr[arr.length-1-i]=num;
            i++;
            if(i>= arr.length){
                int [] newArr=new int[arr.length*2];
                for (int j = 0; j < arr.length; j++) {
                    newArr[newArr.length-1-j]=arr[arr.length-1-j];
//                    newArr[newArr.length-2-j]=num;

                }
                arr=newArr;


            }

            System.out.println("是否继续添加:1.是 2.否");
            String flag = sc.next();
            switch (flag){
                case "1":
                    continue;

                case "2":
                    System.out.println("当前数组为"+ Arrays.toString(arr));
                    break;
//                System.exit(-1);  强行退出
//                    不写标签,跳switch


            }
        }

运行结果

 

 

在数组中指定下标位置插入数据

        while (true){
            Scanner sc = new Scanner(System.in);
            int [] arr = new int[]{1,2,3,4,5};
            System.out.println("请输入要插入的数据下标:");
            int index = sc.nextInt();
            System.out.println("请输入要插入的数据");
            int num = sc.nextInt();
            int [] newArr = new int[arr.length*2];
            for (int i = 0; i < arr.length; i++) {
                newArr[i]=arr[i];
            }
            arr=newArr;
            int temp = arr[index];
            arr[index]=num;
            for (int i = 1; i < arr.length-index; i++) {
                arr[arr.length-i]=arr[arr.length-i-1];
            }
            arr[index+1]=temp;
//            System.out.println("数组为");
//            System.out.println(Arrays.toString(arr));
            System.out.println("是否继续添加:1.是 2.否");
            String flag = sc.next();
            switch (flag){
                case "1":
                    continue;

                case "2":
                    System.out.println("当前数组为"+ Arrays.toString(arr));
                    break;}
        }

运行结果

 

 

学习心得:

  今天上午主要学习了昨天的综合作业,老师讲的很清晰,能听懂,但是当自己去操作的时候就没有条理,有时不知该从哪下手,可能我没有基础是一个初学者吧;下午做了三个数组练习,分别是:倒序向数组添加数据倒序向数组添加数字并进行数组扩容、在数组中指定位置插入数据,老师讲解的很细致,都听明白了,但是要自己写估计写不出来,今天是这么多天学的最轻松的一天。

 

posted @ 2022-07-16 18:47  Iamnotarapper  阅读(39)  评论(1)    收藏  举报
ヾ(≧O≦)〃嗷~