[AJUDA] Retirar carcter repetido de uma String

4 respostas
A

Boa tarde.

Preciso retirar os carcter repetidos de uma string porem não posso usar nenhum metodo pronto do java.
Ja quebrei a cabeça e não consegui precisava de uma ajuda.
Segue meu codigo:

nt vogal = 0;
        int numero = 0;
        int consoante = 0;
        char caracterFrase;
        String entradaFrase = JOptionPane.showInputDialog("Digite uma frase");
        String apareceuVogal = " ";
        String apareceuConsoante = " ";
        String apareceuNumero = " ";
        

        for (int i = 0; i < entradaFrase.length(); i++) {
            caracterFrase = entradaFrase.charAt(i);
            switch (caracterFrase) {
                case 'a':
                    vogal++;
                    apareceuVogal = apareceuVogal + caracterFrase + " ";
                    break;
                case 'e':
                    vogal++;
                    apareceuVogal = apareceuVogal + caracterFrase + " ";
                    break;
                case 'i':
                    vogal++;
                    apareceuVogal = apareceuVogal + caracterFrase + " ";
                    break;
                case 'o':
                    vogal++;
                    apareceuVogal = apareceuVogal + caracterFrase + " ";
                    break;
                case 'u':
                    vogal++;
                    apareceuVogal = apareceuVogal + caracterFrase + " ";
                    break;
                case '0':
                    numero++;
                    apareceuNumero = apareceuNumero + caracterFrase + " ";
                    break;
                case '1':
                    numero++;
                    apareceuNumero = apareceuNumero + caracterFrase + " ";
                    break;
                case '2':
                    numero++;
                    apareceuNumero = apareceuNumero + caracterFrase + " ";
                    break;
                case '3':
                    numero++;
                    apareceuNumero = apareceuNumero + caracterFrase + " ";
                    break;
                case '4':
                    numero++;
                    apareceuNumero = apareceuNumero + caracterFrase + " ";
                    break;
                case '5':
                    numero++;
                    apareceuNumero = apareceuNumero + caracterFrase + " ";
                    break;
                case '6':
                    numero++;
                    apareceuNumero = apareceuNumero + caracterFrase + " ";
                    break;
                case '7':
                    numero++;
                    apareceuNumero = apareceuNumero + caracterFrase + " ";
                    break;
                case '8':
                    numero++;
                    apareceuNumero = apareceuNumero + caracterFrase + " ";
                    break;
                case '9':
                    numero++;
                    apareceuNumero = apareceuNumero + caracterFrase + " ";
                    break;
                default:
                    consoante++;
                    apareceuConsoante = apareceuConsoante + caracterFrase + " ";
                    break;
            }
        }
        System.out.println("[" + vogal + "] vogais:" + apareceuVogal);
        System.out.println("[" + consoante + "] consoantes:" + apareceuConsoante);
        System.out.println("[" + numero + "] números:" + apareceuNumero);
    }
}

Se minha entrada de dados for: oktober2012
teria que ser :
[2] vogais: o - e
[4] consoantes: k - t - b - r
[3] números: 2 - 0 - 1

4 Respostas

guijocargo

voce poderia usar um tipo de tabela comparativa (um vetor por exemplo) com o que ja foi digitado para retirar essas duplicatas, agora pra comparar vai ter que utilizar lacos :slight_smile:

e troque essas atribuicoes por += tb :stuck_out_tongue:

espero ter sido util :slight_smile:

marcelo.silva.java

pelo que entendi…

vc tem que separar oque e vogal de consoantes e de numeros…

e isso que vc quer???

e se repetir tem que ignorar…??

falow

A

Marcelo,

Isto mesmo, tenho que separa e computar, caso elas se repitam tenho que levar em consideração somente uma vez

sarkozy

Veja se isto te ajuda:

private static String RemoveRepeatedCharacters(String string)
    {
	String cleanString = "";

	for (int i = 0; i < string.length(); i++)
	{
	    if (cleanString.indexOf(string.charAt(i)) == -1)
	    {
		cleanString += string.charAt(i);
	    }
	}

	return cleanString;
    }
Criado 19 de outubro de 2012
Ultima resposta 19 de out. de 2012
Respostas 4
Participantes 4