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

我正在尝试为我的大学任务制作一个程序。这是关于将 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}


白猪掌柜的
浏览 204回答 3
3回答

小唯快跑啊

for(k = 0; k < 4; k++) {&nbsp; &nbsp; &nbsp; &nbsp; int[] arr3 = new int[3];&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(arr3[k] = arr1[i] + arr2[j]);&nbsp; &nbsp; }这里有两个主要错误。你这样做k < 4,虽然你应该这样做k < 3 另外,你不应该在每次迭代时重新创建数组。试试这个:int[] arr3 = new int[3];for(k = 0; k < 3; k++) {&nbsp; &nbsp; &nbsp; &nbsp; arr3[k] = arr1[k] + arr2[k]; // i and j don't make sense here.&nbsp; &nbsp; }打印数组,您可以在此之后执行此操作。

犯罪嫌疑人X

根据您的预期输出,您的数组大小应为 4 而不是 3。您的代码应如下所示&nbsp; &nbsp; int[] arr1 = new int[4];&nbsp;&nbsp; &nbsp; int[] arr2 = new int[4];&nbsp;您的代码收到了 ArrayOutOfBoundsException,因为您的第三个 for 循环中的 k 应该是 3 而不是 4,因为您的 k 应该小于您的数组大小(即 3)。要提到的一件事是,它不是硬编码您的数组大小,而是分配一个变量来存储数组的大小是一种更好的做法,这样您就不需要跟踪大小。或者您可以在每次使用 for 循环时执行此操作:&nbsp; &nbsp; k < array.length

慕后森

问题是输入长度为 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 4for(i = 0; i < 4; i++) {&nbsp; &nbsp; System.out.print("Masukkan array pertama ke-" + i + ": ");&nbsp; &nbsp; arr1[i] = sc.nextInt();}//Changed 3 below to 4;for(j = 0; j < 4; j++) {&nbsp; &nbsp; System.out.print("Masukkan array kedua ke-" + j + ": ");&nbsp; &nbsp; arr2[j] = sc.nextInt();}for(k = 0; k < 4; k++) {&nbsp; &nbsp; int[] arr3 = new int[3];&nbsp; &nbsp; System.out.println(arr3[k] = arr1[i] + arr2[j]);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java