Вы сказали это сами, i
не был увеличен.Таким образом, мы все еще будем смотреть на первый индекс name
:
if(name.charAt(i) == typed.charAt(j))
Так что на третьей итерации мы сравниваем name
с первым индексом (l
)и typed
во втором индексе, (l
) и они равны , поэтому мы увеличиваем i
и j
Или для визуализации этого:
alex //i == 0
^
aaleex //j == 0
^
Оба одинаковы, поэтому оба увеличиваются:
alex //i == 1
^
aaleex //j == 1
^
Они не являются, поэтому увеличивается только второе значение:
alex //i == 1
^
aaleex //j == 2
^
Теперь они указываютк одной и той же букве, поэтому оба снова увеличиваются
alex //i == 2
^
aaleex //j == 3
^
Оба одинаковы, оба увеличиваются
alex //i == 3
^
aaleex //j == 4
^
Не то же самое, только j
увеличивается
alex //i == 3
^
aaleex //j == 5
^
Оба одинаковы, но мы достигли конца String