Java 二维数组的越界搜索
我试图在数组(17行26列)中搜索一个整数,并打印该整数的索引。为了便于测试,我将搜索的整数设置为0,并且所有数组值都保留为默认值(0),因此在代码运行结束时,我应该可以看到打印的每个索引 行打印正确,但当columnIncrement>16时引发越界异常 有人知道我做错了什么吗?非常感谢您的帮助Java 二维数组的越界搜索,java,arrays,search,multidimensional-array,Java,Arrays,Search,Multidimensional Array,我试图在数组(17行26列)中搜索一个整数,并打印该整数的索引。为了便于测试,我将搜索的整数设置为0,并且所有数组值都保留为默认值(0),因此在代码运行结束时,我应该可以看到打印的每个索引 行打印正确,但当columnIncrement>16时引发越界异常 有人知道我做错了什么吗?非常感谢您的帮助 private static void search(int[][] arrayofArrays, int num) { for(int rowIncrement = 0; rowIncre
private static void search(int[][] arrayofArrays, int num) {
for(int rowIncrement = 0; rowIncrement < arrayofArrays.length; rowIncrement++) {
for (int columnIncrement = 0; columnIncrement < arrayofArrays[columnIncrement].length; columnIncrement++) {
if (arrayofArrays[rowIncrement][columnIncrement] == num) {
System.out.println("The integer you are looking for is in " + rowIncrement + "-" + columnIncrement);
}
}
}
return;
}
public static void main(String[] args) {
int[][] data = new int[17][26];
int integer = 0;
search(data, integer);
}
private静态无效搜索(int[][]arrayofArrays,int num){
对于(int rowIncrement=0;rowIncrement
更改arrayofArrays[columnIncrement]。将长度更改为arrayofArrays[rowIncrement]。将长度更改为arrayofArrays[rowIncrement].length
在你的第二个for
循环中。你的第二个for循环需要阵列法拉利[rowIncrement]。length
你的第二个for循环需要阵列法拉利[rowIncrement]。length
在你的内部循环中,你应该有:columnIncrement
在内部循环中,应该有:columnIncrement
for循环应该是
for(int rowIncrement = 0; rowIncrement < arrayofArrays.length; rowIncrement++) {
for (int columnIncrement = 0; columnIncrement < arrayofArrays[rowIncrement].length; columnIncrement++) {
if (arrayofArrays[rowIncrement][columnIncrement] == num) {
System.out.println("The integer you are looking for is in " + rowIncrement + "-" + columnIncrement);
}
}
}
for(int-rowIncrement=0;rowIncrement
在第二个for循环中,您将检查为arrayOfArrays[columnIncrement]而不是arrayOfArrays[rowIncrement],这就是导致问题的原因您的for循环应该是
for(int rowIncrement = 0; rowIncrement < arrayofArrays.length; rowIncrement++) {
for (int columnIncrement = 0; columnIncrement < arrayofArrays[rowIncrement].length; columnIncrement++) {
if (arrayofArrays[rowIncrement][columnIncrement] == num) {
System.out.println("The integer you are looking for is in " + rowIncrement + "-" + columnIncrement);
}
}
}
for(int-rowIncrement=0;rowIncrement
在第二个for循环中,您将检查为arrayOfArrays[columnIncrement]而不是arrayOfArrays[rowIncrement],这就是导致问题的原因是否也可以发布堆栈跟踪。是否也可以发布堆栈跟踪。