Using regular foloop, getting correct output, using for each loop throws ArrayOutOfBound exception. Can anyone explain?
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;
}
}