我是Java编程的新手,我似乎找不到为什么这部分代码引发异常的原因:
线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException:3在MasterMind2.onlyColorMatches(MasterMind2.java:98)在MasterMind2.main(MasterMind2.java:13)
我认为是在此函数内部发生的事情:
public static int onlyColorMatches ( int[] puzzle, int[] guess ) {
int equivalent = 0;
for ( int i = 0; i < puzzle.length; i++ ) {
for ( int j = 0; j < puzzle.length; i++ ) {
if ( puzzle[i] == guess[j] && ( j != i ) )
equivalent++;
}
}
return equivalent;
}
[如果有人能帮助我,我将非常感谢!很抱歉,如果未正确提出问题。
您正在遍历puzzle.length的值,然后尝试使用puzzle的长度访问猜测的索引。
所以-当拼图和猜想的长度不同时会发生什么?说Puzzle.length = 10,guess.length =5。对于索引5、6、7、8、9,您正在尝试访问不存在的猜测索引。