java - 用其他数组填充数组
问题描述
创建两个大小为 5 的数组 A 和 B 以及大小为 10 的 C。接受两个数组 A 和 B 中的数字。填充数组 C,使前五个位置占据数组 A 中的数字,其余五个位置占据数组 B 中的数字
import java.util.*;
public class Record22_ArrayFill
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int[] ar1 = new int[5];
int[] ar2 = new int[5];
int[] arr = new int[10];
System.out.println("Enter the elements of the array 1:");
for(int i = 0; i < ar1.length; i++)
{
ar1[i] = sc.nextInt();
}
System.out.println("Enter the elements of the array 2:");
for(int i = 0; i < ar2.length; i++)
{
ar2[i] = sc.nextInt();
}
for(int i=0; i< 5; i++)
{
for(int j=0; j< 5; j++)
{
arr[j] = ar1[i];
}
}
for(int i=0; i< 5; i++)
{
for(int j=5; j< 10; j++)
{
arr[j] = ar2[i];
}
}
System.out.println(Arrays.toString(arr));
}
}
解决方案
只需使用两个for
循环;不需要嵌套循环。请在此处查看下面的代码。
for(int i = 0; i < 5; i++){
arr[i] = ar1[i];
}
for(int i = 0; i < 5; i++){
arr[i + 5] = ar2[i];
}
您也可以将其组合成一个for
循环。
for(int i = 0; i < 5; i++){
arr[i] = ar1[i];
arr[i + 5] = ar2[i];
}
对于较大的数组,使用System.arraycopy
会更有效,因为它使用本机调用。请在此处查看下面的代码。
System.arraycopy(ar1, 0, arr, 0, ar1.length);
System.arraycopy(ar2, 0, arr, ar1.length, ar2.length);
推荐阅读
- python - 如何让每辆车在 Or Tools 中做点什么?
- sql - Postgres:使用子查询更新表列
- python - 使用 django 框架加载 JSON 内容
- swift - 如何在以下 mvvm 架构中使用 @Binding Wrapper?
- stripe-payments - 如何创建条纹计划而不是价格?
- python-3.x - 停止 Tweepy 机器人回复循环
- javascript - 是否可以使用 chrome 计算通过 Web 套接字传输的数据总量?
- angular8 - 使用自定义单元格编辑器时无法复制或粘贴 ag-grid 的单元格数据
- java-8 - CodeHaus Maven JAXB2 插件错误 MojoExecutionException: NoSchemasException
- sql - 按条件求和 SQL