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.
}
打印数组,您可以在此之后执行此操作。
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
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]);
}
添加回答
举报