Contar chars repetidos

oie… fiz um programinha que percorre a string e incrementa um contador se houver letras rpetidas
porem ele sempre conta uma a mais quando tem mais de duas letras iguais!.. ja mexi no for um monte de vezes e nao dá certo… alguem pode me ajudar

import java.util.*;

public class cinco {
	
	static int repetido (String s)
	{
		int i = 0,j,cont = 0;
		
		char c,d;
		
		
	 for (j = 0; j < s.length(); j++)
	 {
	 	for(i = j + 1 ; i < s.length();i++)
		{
			c = s.charAt(i);
			
			//String.valueOf(c);
			
			d = s.charAt(j);
			
			
			//t = String.valueOf(d);
			
			if (c == d)
				cont++;
		}		
			
			
		}
		return cont;
	}
		public static void main (String args[]){
			
			Scanner leitor = new Scanner(System.in);
			
			String palavra = "";
			
			int vezes;
			
			System.out.printf("Digite uma palavra para a busca:");
			palavra = leitor.nextLine();
			
			vezes = repetido(palavra);
			
			System.out.print(vezes);
		 
		}
		
	 }		
			
	 

    
    
    
    

O que é uma “letra repetida”?

  • Duas letras consecutivas repetindo-se, por exemplo repetido (“recorrência”) deve retornar o valor “1”, que é correspondente a “rr”
  • Uma letra que se repete na palavra, mas em posições não consecutivas (por exemplo, “repórter” apresenta 3 ocorrências da letra “r” e 2 ocorrências da letra “e”.

Queria saber o que você quer fazer.

Meu amigo pelo que entendi vc esta comparando um char com outro e se encontrar conta, porém, qdo vc passa por esse caracter que encontrou volta a contar novamente. ou seja, a palavra “para” só tem uma letra repetida o “a” então vc compara o primeiro “a” com o segundo e ai vai percorrendo os caracteres e qdo chega no segundo vc compara ele com o primeiro e conta novamente. Pelo menos foi o q entendi se não for isso me desculpa. Da uma olhada nesse exemplo que fiz a partir do seu.

[code]
import java.util.*;
public class Cinco {
static int repetido (String s)
{
int i = 0, j = 0, cont = 0;
char c,d;
char[] letra;
boolean encontrou = false;
letra = new char[s.length()];
for (j = 0; j < s.length(); j++)
{
for(i = j + 1 ; i < s.length();i++)
{
c = s.charAt(i);
d = s.charAt(j);

            for (int l=0; l < s.length(); l++) {
                if (d==letra[l]) {
                    encontrou=true;                 
                    break;
                }
            }
            if ((c == d) && !encontrou) {
                cont++;                                        
                letra[j] = d;
            }
            encontrou=false;
        }
    }
    return cont;
}
public static void main (String args[]){
    Scanner leitor = new Scanner(System.in);
    String palavra = "";
    int vezes;
    System.out.printf("Digite uma palavra para a busca:");
    palavra = leitor.nextLine();
    vezes = repetido(palavra);
    System.out.println(vezes);
}

}[/code]