试试这个
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);
}