为了账号安全,请及时绑定邮箱和手机立即绑定

将 2 个数组与第三个数组相加

将 2 个数组与第三个数组相加

白猪掌柜的 2022-01-19 09:45:59
我正在尝试为我的大学任务制作一个程序。这是关于将 2 个数组和输出相加到第三个数组中。但是有一个错误ArrayOutOfBoundsException但我知道错误在哪里。这是我的源代码Scanner sc = new Scanner(System.in);    int[] arr1 = new int[3];     int[] arr2 = new int[3];     int i, j, k;    for(i = 0; i < 3; i++) {        System.out.print("Masukkan array pertama ke-" + i + ": ");        arr1[i] = sc.nextInt();    }    for(j = 0; j < 3; j++) {        System.out.print("Masukkan array kedua ke-" + j + ": ");        arr2[j] = sc.nextInt();    }    for(k = 0; k < 4; k++) {        int[] arr3 = new int[3];        System.out.println(arr3[k] = arr1[i] + arr2[j]);    }预期是这样的arr1 = {1, 2, 3, 4}  arr2 = {1, 2, 3, 4} arr3 = {2, 4, 6, 8}
查看完整描述

3 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

for(k = 0; k < 4; k++) {

        int[] arr3 = new int[3];

        System.out.println(arr3[k] = arr1[i] + arr2[j]);

    }

这里有两个主要错误。你这样做k < 4,虽然你应该这样做k < 3 另外,你不应该在每次迭代时重新创建数组。试试这个:


int[] arr3 = new int[3];

for(k = 0; k < 3; k++) {

        arr3[k] = arr1[k] + arr2[k]; // i and j don't make sense here.

    }

打印数组,您可以在此之后执行此操作。


查看完整回答
反对 回复 2022-01-19
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

根据您的预期输出,您的数组大小应为 4 而不是 3。您的代码应如下所示


    int[] arr1 = new int[4]; 

    int[] arr2 = new int[4]; 

您的代码收到了 ArrayOutOfBoundsException,因为您的第三个 for 循环中的 k 应该是 3 而不是 4,因为您的 k 应该小于您的数组大小(即 3)。要提到的一件事是,它不是硬编码您的数组大小,而是分配一个变量来存储数组的大小是一种更好的做法,这样您就不需要跟踪大小。或者您可以在每次使用 for 循环时执行此操作:


    k < array.length


查看完整回答
反对 回复 2022-01-19
?
慕后森

TA贡献1802条经验 获得超5个赞

问题是输入长度为 3,输出长度为 4。


Scanner sc = new Scanner(System.in);

int[] arr1 = new int[3];

int[] arr2 = new int[3];

int i, j, k;


//Changed 3 below to 4


for(i = 0; i < 4; i++) {

    System.out.print("Masukkan array pertama ke-" + i + ": ");

    arr1[i] = sc.nextInt();

}


//Changed 3 below to 4;


for(j = 0; j < 4; j++) {

    System.out.print("Masukkan array kedua ke-" + j + ": ");

    arr2[j] = sc.nextInt();

}


for(k = 0; k < 4; k++) {

    int[] arr3 = new int[3];

    System.out.println(arr3[k] = arr1[i] + arr2[j]);

}


查看完整回答
反对 回复 2022-01-19
  • 3 回答
  • 0 关注
  • 203 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信