2022-07-16 第九组 王佳齐
思维导图

目录
- 取出数组中指定下标的值
- 倒序添加数字
- 倒序向数组添加数字并进行数组扩容
- 在数组中指定下标位置插入数据
学习笔记:
数组练习
取出数组中指定下标的值
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;} }
运行结果

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

浙公网安备 33010602011771号