试试这个

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);

}