Java程序:用数组的下一个元素替换每个元素
根据题目要求,我们必须编写一个Java程序,用数组的下一个元素替换数组的每个元素。在Java中,数组是一个对象。它是一种非基本数据类型,用于存储相似数据类型的值。
在讨论给定问题的解决方案之前,让我们用一个例子来理解问题陈述:
示例场景
Input: arr[] = {12, 23, 11, 64} Output: updated array = {23, 11, 64, 12}
算法
按照以下步骤用数组的下一个元素替换数组的每个元素:
- 步骤1 - 声明并初始化一个整数数组。
- 步骤2 - 将数组的第一个元素存储在一个临时变量中,以便用最后一个元素替换它。
- 步骤3 - 用arr[i+1]替换当前元素arr[i]。一直继续到arr[lastIndex-1]。并用临时值替换最后一个索引元素。
- 步骤4 - 打印数组的元素。
使用for循环
Java中的for循环是一种控制结构,允许你重复执行一段代码特定次数。在这里,我们使用它来迭代给定数组的每个元素,并用下一个元素替换当前元素。
示例
在这个Java程序中,我们使用for循环用数组的下一个元素替换数组的每个元素。
import java.util.Arrays; public class Main { // main method public static void main(String args[]) { //Declare and initialize the array elements int arr[] = {4,2,3,1}; //get the length of the array int size=arr.length; //assign the first element of the array to int variable 'temp' int temp=arr[0]; // Print the array elements System.out.println("Array elements are: " + Arrays.toString(arr)); //replace the current element with next element for(int i=0; i < (arr.length-1); i++) { arr[i]=arr[i+1]; } //replace the last element of the array with first element arr[size-1]=temp; //print the updated array System.out.println("Updated array: "+Arrays.toString(arr)); } }
执行后,将显示以下输出:
Array elements are: [4, 2, 3, 1] Updated array: [2, 3, 1, 4]
使用arraycopy()方法
在这种方法中,我们使用arraycopy()方法将元素从原始数组复制到新数组,从第二个元素(即索引1)开始,并将它们放置在新数组的开头(即索引0)。
arraycopy()方法属于System类的java.lang包。此方法将元素从源数组(从指定位置开始)复制到目标数组的指定位置。
示例
让我们看看实际演示:
import java.util.Arrays; public class Main { public static void main(String[] args) { // given array int arr[] = {4, 2, 3, 1, 5}; // Print the array elements System.out.println("Array elements are: " + Arrays.toString(arr)); // new array int newArr[] = new int[arr.length]; // assign the first element of the array to a temp variable int temp = arr[0]; // replacing current element with next element System.arraycopy(arr, 1, newArr, 0, arr.length - 1); // replace the last element of the array with first element newArr[newArr.length - 1] = temp; // updated array System.out.print("Updated array: "); for (int j : newArr) { System.out.print(j + " "); } } }
运行后,你将得到以下输出:
Array elements are: [4, 2, 3, 1, 5] Updated array: 2 3 1 5 4
广告