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 

更新于:2024年9月11日

839 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告