попробуйте
for(int i = 0; i < aLenght - 1; i++) {
for(int j = 0; j < bLenght - 1; j++) {
if(aChars[i] == bChars[j] && aChars[i + 1] == bChars[j + 1]) {
return true;
}
}
}
обратите внимание, что это покрывает длину массива, даже когда он повторяется до ALenght - 1. Поскольку, когда он достигает aLenght - 2, он будет сравниваться и с aLenght - 1 в
(aChars[i] == bChars[j] && aChars[i + 1] == bChars[j + 1])
.
Вы можете проверить это, запустив это:
@Test
public void successive() {
char[] a = new char[]{'a', 'b', 'x', 'z', 'y'};
char[] b = new char[]{'r', 's', 't', 'a', 'b'};
boolean isSuccessive = false;
for (int i = 0; i < a.length - 1; i++) {
for (int j = 0; j < b.length - 1; j++) {
if (a[i] == b[j] && a[i + 1] == b[j + 1]) {
isSuccessive = true;
}
}
}
assertTrue(isSuccessive);
}