我创建了这个循环,它只在第一次工作,然后我收到一个数组索引超出界限异常。
for(int a=0; a<pkcode.length;a++){
for(int b=0;b<trainercode.length;a++){
if(pkcode[a]==trainercode[b]){
w=a+1;
v=b+1;
System.out.println("Your egg(s) that match with trainers are:");
System.out.println("egg #" +w+ ": " + pkcode[a] + " matches with trainer #" +v+ ": " + trainercode[b]);
}
}
}
任何人都知道如何解决这个问题?
答案 0 :(得分:2)
for(int b=0;b<trainercode.length;a++){
应该是
for(int b=0;b<trainercode.length;b++){
你正在增加错误的值(内循环使用b
但增加a
)。
这将使你在内循环中有一个无限循环(b
永远不会递增,因此它永远不会达到结束条件)并且它将以两倍的速度到达你的a
并越界在pkcode[a]
。