Java 复制数组程序

编写一个 Java 程序,使用内置的 copyof 方法和 for 循环、while 循环以及一个示例来复制数组。

使用 CopyOf()

在此程序中,我们使用 copyOf 方法将一个数组复制到另一个数组。

import java.util.Scanner;
import java.util.Arrays;

public class CpyArr1 {
	private static Scanner sc;
	public static void main(String[] args) 
	{
		int Size, i;
		sc = new Scanner(System.in);
	 
		System.out.print(" Please Enter Number of Items : ");
		Size = sc.nextInt();	
		
		int [] a = new int[Size];
		
		System.out.print(" Please Enter " + Size + " elements : ");
		for (i = 0; i < Size; i++)
		{
			a[i] = sc.nextInt();
		}   
		
		int[] b = Arrays.copyOf(a, Size);
		
		System.out.println("\n **** Elements in b[] after Duplicating are **** ");
		for (i = 0; i < Size; i++)
		{
			System.out.println(" Element at b["+ i +"] = " + b[i]);
		}
	}
}
Java Program to Copy an Array using copyOf() function

使用 For 循环复制 Java 数组的程序

程序 允许用户输入大小和一维 数组 元素。接下来,它使用 For 循环 将 a[] 中的每个元素复制到 b[] 数组。

import java.util.Scanner;

public class CopyArray2 {
	private static Scanner sc;
	public static void main(String[] args) 
	{
		int Size, i;
		sc = new Scanner(System.in);
	 
		System.out.print(" Please Enter Number of elements in an array : ");
		Size = sc.nextInt();	
		
		int [] a = new int[Size];
		int [] b = new int[Size];
		
		System.out.print(" Please Enter " + Size + " elements of an Array  : ");
		for (i = 0; i < Size; i++)
		{
			a[i] = sc.nextInt();
		}   
		
		for (i = 0; i < Size; i++)
		{
			b[i] = a[i];
		} 
		
		System.out.println("\n **** Elements in b[] Array after Copying are **** ");
		for (i = 0; i < Size; i++)
		{
			System.out.println(" Element at b["+ i +"] = " + b[i]);
		}
	}
}
Java Program to Copy an Array 2

首先,我们声明了两个用户指定大小的一维数组。它们是整数类型的 a 和 b。

下面的 For 循环迭代 [] 中的每个单元格。for 循环内的条件 (i < Size)) 确保编译器不会超出大小。for 循环内的语句将用户输入的数组元素存储为 a[0], a[1], a[2], a[3], a[4]。

for (i = 0; i < Size; i++)
{
	a[i] = sc.nextInt();
}

在下一行,我们有另一个 for 循环来迭代每个元素并将其保存在 b[] 中。

for (i = 0; i < Size; i++)
{
	b[i] = a[i];
}

在此复制数组示例中,用户插入的值是 a[5] = {19, 25, 18, 79, 125}

第一次迭代:for (i = 0; 0 < 5; 0++)

i 的值为 0,条件 (i < 5) 为 True。因此,它开始执行循环内的语句,直到条件失败。

b[i] = a[i]
b[0] = a[0] = 19

第二次迭代:for (i = 1; 1 < 5; 1++)
i 的值为 1,条件 (i < 5) 为 True。

b[1] = a[1]
b[1] = 25

第三次迭代:for (i = 2; 2 < 5; 2++)

b[2] = a[2]
b[2] = 18

对剩余的迭代执行相同操作,直到条件 (i < 5) 失败。下一个 for 循环用于打印 b[] 中的元素。我建议您参考 打印数组元素的程序 文章来理解它。

使用 While 循环复制 Java 数组的程序

此数组复制示例与上面相同。但我们使用 While 循环 将元素从一个数组复制到另一个数组。

import java.util.Scanner;

public class CpyArr3 {
	private static Scanner sc;
	public static void main(String[] args) 
	{
		int Size, i = 0, j = 0, k = 0;
		sc = new Scanner(System.in);
	 
		System.out.print(" Please Enter Number of elements : ");
		Size = sc.nextInt();	
		
		int [] a = new int[Size];
		int [] b = new int[Size];
		
		System.out.print(" Please Enter " + Size + " elements  : ");
		while(i < Size)
		{
			a[i] = sc.nextInt();
			i++;
		}   
		
		while(j < Size)
		{
			b[j] = a[j];
			j++;
		} 
		
		System.out.println("\n **** Elements in b[] after Duplicating are **** ");
		while(k < Size)
		{
			System.out.println(" Element at b["+ k +"] = " + b[k]);
			k++;
		}
	}
}
 Please Enter Number of elements : 7
 Please Enter 7 elements  : 42 59 86 95 87 158 268

 **** Elements in b[] after Duplicating are **** 
 Element at b[0] = 42
 Element at b[1] = 59
 Element at b[2] = 86
 Element at b[3] = 95
 Element at b[4] = 87
 Element at b[5] = 158
 Element at b[6] = 268