JAVA数组反转,添加,插入

反转

//随机生成五个数,并将其反转打印
		int[] nums = new int[10];
		for(int i = 0; i < nums.length; i++){
			nums[i] = (int)(Math.random() * 100 + 1);
		}
		for(int i = 0; i < nums.length; i++){
			System.out.print(nums[i]+"\t");
		}
		//反转
		for(int i = 0; i < nums.length / 2; i++){
			//交换两个数字  i vs nums.length-1-i
			int temp = nums[i];
			nums[i] = nums[nums.length-1-i];
			nums[nums.length-1-i] = temp;
		}
		System.out.println();
		for(int i = 0; i < nums.length; i++){
			System.out.print(nums[i]+"\t");
	} 

添加

Scanner input = new Scanner(System.in);
		//数组的添加
		System.out.println("------------添加功能------------");
		//数组的声明初始化
		int[] arr = {2,3,1,4,6};
		//打印
		System.out.println("原始数组的元素如下: ");
		for(int i : arr){
			System.out.print(i+"\t");
		}
		System.out.println();
		//增加
		System.out.print("请输入要添加的元素:");
		int add = input.nextInt();
		//真实的添加
		//1.创建一个新的数组 是原来数组的长度+1 
		//2.以此为新数组的元素复制
		//3.将add赋值到新数组的空位上
		int[] newArr = new int[arr.length+1];
		for(int i = 0; i < arr.length; i++){
			newArr[i] = arr[i];
		}
		newArr[newArr.length-1] = add;
		//将newArr的地址赋值给arr
		arr = newArr;
		System.out.println("添加元素的数组元素如下: ");
		for(int i : arr){
			System.out.print(i+"\t");
		}

插入

		//数组的插入
		Scanner input = new Scanner(System.in);
		//数组的声明初始化
		int[] arr = {2,3,1,4,6};
		//打印
		System.out.println("原始数组的元素如下: ");
		for(int i : arr){
			System.out.print(i+"\t");
		}
		System.out.println();
		//插入
		System.out.print("请输入要插入的数: ");
		int add = input.nextInt();
		System.out.println();
		System.out.print("请输入要插入的位置: ");
		int index = input.nextInt();
		System.out.println();
		//插入业务
		//也是扩容的道理
		int[] newArr = new int[arr.length+1];
		//循环赋值
		for(int i = 0; i < arr.length; i++){
			newArr[i] = arr[i];
		}
		//插入的核心
		for(int i = newArr.length-1;i > index; i--){
			newArr[i] = newArr[i-1];
		}
		//覆盖index
		newArr[index] = add;
		System.out.println("插入后数组的元素如下: ");
		//新数组赋值到旧数组
		arr = newArr;
		for(int i : arr){
			System.out.print(i+"\t");
		}
	
发布了18 篇原创文章 · 获赞 2 · 访问量 1483

猜你喜欢

转载自blog.csdn.net/AppWhite_Star/article/details/104421288