如何将一个数组中的一系列值除以另一个数组中的一系列值
How to divide a series of values in one array by a series of values in another array
我是 Java 的初学者,想就我遇到的数组问题寻求帮助。我正在尝试构建一个简单的程序,它有两个 int 类型的数组,每个数组中有 5 个整数。我想将一个数组中整数的长度除以另一个数组中整数的长度。我的程序似乎在某种程度上有效,因为它给了我除法的结果。但是它也给我以下错误:
线程异常 "main" java.lang.ArrayIndexOutOfBoundsException: 5
在 ArrayDivide.main(ArrayDivide.java:11)
谁能告诉我哪里出错了?这是我的代码:
public class ArrayDivide {
public static void main(String[] args) {
int arr1[]={8,4,6,8,4};
int arr2[]={2,4,2,1,2};
for (int x =0;x <arr1.length;x++){
for (int j =0;x <arr2.length;j++){
int result = arr1[x] / arr2[j];
System.out.println(result);
}
}
}
}
将第二个循环更改为
for (int j =0;j <arr2.length;j++){
即 j <arr2.length
来自 x <arr2.length
循环
for (initialization; condition ;updation)
因为你在 condition
中比较 j
部分循环继续在 5th
索引
给你异常
将外部数组 (arr1) 的每个数字除以其他数组 (arr2) 中的相应数字
代码如下所示。您还应该进行检查以验证两个数组的长度是否相同。
public static void main(String[] args) {
int arr1[]={8,4,6,8,4};
int arr2[]={2,4,2,1,2};
for (int x =0;x <arr1.length;x++){
int result = arr1[x] / arr2[x];
System.out.println(result);
}
}
输出为:
4
1
3
8
2
将外部数组(arr1)的每个数字除以其他数组(arr2)中的每个数字
如果你想将外部数组的每个数字与内部数组的每个数字相除,请使用以下代码。在你的代码条件不对,它应该是 j <arr2.length
而不是 x <arr2.length
.
public static void main(String[] args) {
int arr1[]={8,4,6,8,4};
int arr2[]={2,4,2,1,2};
for (int i=0; i<arr1.length; i++){
for (int j =0;j<arr2.length;j++){
int result = arr1[i] / arr2[j];
System.out.println(result);
}
}
}
public class ArrayDivide {
public static void main(String[] args) {
int arr1[]={8,4,6,8,4};
int arr2[]={2,4,2,1,2};
for (int x =0;x <arr1.length;x++){
int result = arr1[x] / arr2[x];
System.out.println(result);
}
}
}
ArrayIndexOutOfBoundException
当您尝试访问索引大于数组大小时的项目时发生异常。
在上面的代码中:
for (int x =0 ; x < arr1.length ; x++){
for (int j =0 ; 0 < arr2.length ; j++){
int result = arr1[x] / arr2[j];
System.out.println(result);
}
}
你有 x < arr2.lengh.
假设您的 arr1 长度为 10,arr2 长度为 5,在这种情况下,当 j 为 6 时,它仍然小于 10,并且您的代码 int result = arr1[x] / arr2[j];
将尝试访问 arr2[6]这会产生一个 ArrayIndexOutOfBoundException
.
要解决此问题,您需要在内部循环中检查从 0 到 arr2 的长度。
答案:
for (int x =0;x <arr1.length;x++){
for (int j =0;x <arr2.length;j++){
int result = arr1[x] / arr2[j];
System.out.println(result);
}
}
我是 Java 的初学者,想就我遇到的数组问题寻求帮助。我正在尝试构建一个简单的程序,它有两个 int 类型的数组,每个数组中有 5 个整数。我想将一个数组中整数的长度除以另一个数组中整数的长度。我的程序似乎在某种程度上有效,因为它给了我除法的结果。但是它也给我以下错误:
线程异常 "main" java.lang.ArrayIndexOutOfBoundsException: 5 在 ArrayDivide.main(ArrayDivide.java:11)
谁能告诉我哪里出错了?这是我的代码:
public class ArrayDivide {
public static void main(String[] args) {
int arr1[]={8,4,6,8,4};
int arr2[]={2,4,2,1,2};
for (int x =0;x <arr1.length;x++){
for (int j =0;x <arr2.length;j++){
int result = arr1[x] / arr2[j];
System.out.println(result);
}
}
}
}
将第二个循环更改为
for (int j =0;j <arr2.length;j++){
即 j <arr2.length
来自 x <arr2.length
循环
for (initialization; condition ;updation)
因为你在 condition
中比较 j
部分循环继续在 5th
索引
将外部数组 (arr1) 的每个数字除以其他数组 (arr2) 中的相应数字
代码如下所示。您还应该进行检查以验证两个数组的长度是否相同。
public static void main(String[] args) {
int arr1[]={8,4,6,8,4};
int arr2[]={2,4,2,1,2};
for (int x =0;x <arr1.length;x++){
int result = arr1[x] / arr2[x];
System.out.println(result);
}
}
输出为:
4
1
3
8
2
将外部数组(arr1)的每个数字除以其他数组(arr2)中的每个数字
如果你想将外部数组的每个数字与内部数组的每个数字相除,请使用以下代码。在你的代码条件不对,它应该是 j <arr2.length
而不是 x <arr2.length
.
public static void main(String[] args) {
int arr1[]={8,4,6,8,4};
int arr2[]={2,4,2,1,2};
for (int i=0; i<arr1.length; i++){
for (int j =0;j<arr2.length;j++){
int result = arr1[i] / arr2[j];
System.out.println(result);
}
}
}
public class ArrayDivide {
public static void main(String[] args) {
int arr1[]={8,4,6,8,4};
int arr2[]={2,4,2,1,2};
for (int x =0;x <arr1.length;x++){
int result = arr1[x] / arr2[x];
System.out.println(result);
}
}
}
ArrayIndexOutOfBoundException
当您尝试访问索引大于数组大小时的项目时发生异常。
在上面的代码中:
for (int x =0 ; x < arr1.length ; x++){
for (int j =0 ; 0 < arr2.length ; j++){
int result = arr1[x] / arr2[j];
System.out.println(result);
}
}
你有 x < arr2.lengh.
假设您的 arr1 长度为 10,arr2 长度为 5,在这种情况下,当 j 为 6 时,它仍然小于 10,并且您的代码 int result = arr1[x] / arr2[j];
将尝试访问 arr2[6]这会产生一个 ArrayIndexOutOfBoundException
.
要解决此问题,您需要在内部循环中检查从 0 到 arr2 的长度。
答案:
for (int x =0;x <arr1.length;x++){
for (int j =0;x <arr2.length;j++){
int result = arr1[x] / arr2[j];
System.out.println(result);
}
}