EVerytime I write any code similar to this one, I get this type of error. It\'s building a file but not letting it run, it just throws exception. I\'m not familiar with exce
try this:
public static void main(String args[]) {
String name = "Umer Hassan";
String name1 = "Hassan Umer";
char[] name2 = new char[name.length()];
for (int j = 0; j < name.length(); j++ {
for (int i = 0; i < name.length(); i++) {
if (name.length() == name1.length()) {
if (name.charAt(i) == name1.charAt(j)) {
name2[i] = name1.charAt(j);
}
}
}
}
}
Your loop control variables (i
/ j
) are going up to name.length()
- which is an out of bounds index (since the max index of a string/list is len - 1
- remember the first index is 0).
Try using i < name.length()
and j < name.length()
as the loop conditions instead.
You should write the for cycle as
for (int i = 0; i < name.length(); i++)
The indexes in the strings are zero-based, as in the arrays, so they have a range from 0 to length - 1. You go to length, which is outside of bounds.
for (int i=0; i<=name.length();i++){
String indexes are starting from 0
.
Example :
String str = "abc";
int len = str.length(); //will return 3
str.charAt(3);
will throws StringIndexOutOfBoundsException
charAt
starting position is 0
. So the limit is length-1
.
You have to change your for loop to for (int i=0; i<name.length();i++){