【发布时间】:2020-11-15 05:44:07
【问题描述】:
使用常规的 foloop,得到正确的输出,使用 for each loop 抛出 ArrayOutOfBound 异常。谁能解释一下?
public class FindTheDiff {
public static void main(String args[]){
System.out.println(isAnagramRecursion("all","laa"));
}
private static boolean isAnagramRecursion(String param1, String param2) {
int[] arr = new int[122];
char[] param1Lower = param1.toLowerCase().toCharArray();
char[] param2Low2 = param2.toLowerCase().toCharArray();
for (char ch1 : param1Lower) {
arr[ch1] = arr[ch1]+1;
}
for (char ch2 : param2Low2){
arr[ch2] = arr[ch2]-1;
}
for (int i :arr) {
if(arr[i] != 0)
return false;
}
/*for (int i = 0; i < arr.length; i++) {
if(arr[i] != 0)
return false;
}*/
return true;
}
}
【问题讨论】:
标签: java for-loop exception foreach