编写一个 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]);
}
}
}

使用 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]);
}
}
}

首先,我们声明了两个用户指定大小的一维数组。它们是整数类型的 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