以下は、連続した文字を検索する簡単なプログラムです。ただし、配列インデックスの外側を検索しているため、例外が発生します。発生する理由は理解できますが、これをどのように管理すればよいでしょうか?
public static void main(String [] args)
{
String term = "Popeye's fishCat";
String query = "P's SalmonCat";
int score = 0;
char [] termChar = term.toCharArray();
char [] queryChar = query.toCharArray();
if((queryChar[0]) == (termChar[0]))
{
score++;
}
for(int i = 0; i < queryChar.length; i++)
{
for(int j = 0; j < termChar.length; j++)
{
if(queryChar[i] == termChar[j] )
{
if((queryChar[i + 1]) == (termChar[j + 1])) //Causes an exception
{
System.out.println((queryChar[i + 1]) + " " + (termChar[j + 1]));
score++;
break;
}
}
}
}
System.out.println(score);
}