有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将2个数组求和到第三个数组

我正在为我的大学任务做一个计划。这是关于将两个数组和输出相加成第三个数组。但是BoundsException的ArrayOutOfBoundsException有一个错误,但是idk的错误在哪里呢
这是我的源代码

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}

共 (1) 个答案

  1. # 1 楼答案

    问题是输入长度是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]);
    }