То, что происходит, это то, что он смотрит на первый символ, и, если он не совпадает, он немедленно возвращает -1 (и, следовательно, не продолжает циклически повторять символы, пока не найдет правильный).
Вам нужно возвращать -1, только если вы закончили цикл for
и не нашли символ.Так должно быть:
public int whatIstheIndex(char c) {
for (i = 0; i < _st.length(); i++) {
if (_st.charAt(i) == c) {
return i;
}
}
return -1;
}