Oi tudo bem? Como faço para retornar uma posição (int) específica de uma string em Java?

Estou em dúvida pois o indexOf() retorna a posição da primeira ocorrência de caracteres especificados em uma sequência. Mas estou querendo especificar essa ocorrência, como a segunda vez que ocorre a aparição de um char ou a terceira e assim por diante.

 public int getPosicaoDaIezimaOcorrencia (int i, char letra) throws Exception
    {
        // se i==0, retorna a posicao em que ocorre a primeira
        // aparicao de letra fornecida em this.texto;
        // se i==1, retorna a posicao em que ocorre a segunda
        // aparicao de letra fornecida em this.texto;
        // se i==2, retorna a posicao em que ocorre a terceira
        // aparicao de letra fornecida em this.texto;
        // e assim por diante.
        // lancar excecao caso nao encontre em this.texto
        // a Iezima aparicao da letra fornecida.
    }

Seria para um jogo da forca. No começo dessa classe tem um private String texto. O char vai ser o caractere que o usuário vai digitar. Com a informação da posição, será revelado pro usuário.

A classe String possui 4 métodos indexOf sobrecarregados, um deles faz o que você quer, confira a documentação.

1 curtida