目录
目录
获取数组下标
int[] arr=new int[]{4,67,4,2,3};
// 键盘输入一个下标,获取指定下标的数字
Scanner sc = new Scanner(System.in);
int index=sc.nextInt();
if(index<0 ||index>=arr.length){
System.out.println("下标越界");
}else if(index>=0 && index <arr.length){
System.out.println("数字为: " +arr[index]);
}
获取数组的倒序
int[] arr=new int[5];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.printf("输入第%d个数",i+1);
int num=sc.nextInt();
arr[i]=num;
}
System.out.println("数组倒序为:");
for (int j = arr.length-1; j >=0 ; j--) {
System.out.print(arr[j]+"\t");
}
扩容数组输出
Scanner sc = new Scanner(System.in);
int [] arr = new int[]{1,2,3,4,5};
// 扩容
int [] newArr = new int[arr.length * 2];
for (int j = 0; j < arr.length; j++) {
newArr[j] = arr[j];
}
arr = newArr;
main:while(true){
System.out.println("请输入要插入数据的下标:");
int index = sc.nextInt();
System.out.println("请输入要插入的数据:");
int num = sc.nextInt();
/*
1.因为数组已满,需要扩容
2.找到要插入的数据的位置
3.插入位置后面的数据需要向后移位
*/
// 定义一个临时变量,存储原来index位置的元素
// int temp = arr[index];
// // 把要插入的数存到了指定的位置
// arr[index] = num;
// // 原来位置的后面的那个数向后移一位
// arr[index + 2] = arr[index + 1];
// arr[index + 1] = temp;
// 要插入的位置的原始数据保存起来
int temp = arr[index];
// 把要插入的数据放到指定位置
arr[index] = num;
//判断要移位的数据的个数
for (int i = 1; i < arr.length - index; i++) {
arr[arr.length - i] = arr[arr.length - 1 - i];
}
arr[index + 1] = temp;
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 main;
// System.exit(-1);
}
}
总结
今天都是数组的一些应用,加深了对于数组的认知,为接下来的学习做好铺垫