package com.example.arr;
import java.util.Scanner;
public class AddArr {
public static void main(String[] args) {
String[] arr = {"1","2","3","4","5",""};
bianli(arr);
Scanner scanner = new Scanner(System.in);
System.out.println();
System.out.println("请输入在第几个下标添加");
int i = scanner.nextInt();
System.out.println("请输入添加的数据");
String next = scanner.next();
System.out.println("在第"+i+"个下边后添加"+next);
add(arr,i,next);
bianli(arr);
//释放资源
scanner.close();
}
public static void add(String[] arr,int index,String next){
if (index>arr.length||index<0){//判断如果下标大于数组长度,或者小于0,则会下标越界
System.out.println("下标越界");
} else if (index == arr.length-1) {//判断如果下标等于数组长度,则直接给数组最后一位赋值
arr[index] = next;
} else if (index == 0) {//判断如果下标等于0,则所以数组的值往后移动一位,给下标为0 的数组赋值
for (int i = arr.length - 1; i >= index; i--) {
if (i == 0) {
arr[i] = next;
break;
}
arr[i] = arr[i - 1];
}
} else {//判断如果下标不在数组的2端,则将下标之后的数值往后移动一位,
for (int i = arr.length - 1; i >= index; i--) {
arr[i] = arr[i - 1];
}
//在给这个下标赋值
arr[index] = next;
}
}
//遍历数组的方法
public static void bianli(String[] arr ){
for (String a:
arr) {
System.out.print(a+" ");
}
}
}
网友评论