Estou tentando percorrer uma String que possui elementos separados por vírgula (exemplo: 10,11,10,05,34,23,21,11) e, criar uma nova String sem as repetições com apenas uma ocorrência de cada número.
Tentei fazer através do código mas não estou percorrendo a lista toda. Antes estava recebendo um indexoutofboundsexception… depois alterei e agora não percorre a string toda.
Alguma sugestão?
[]s
MariLu
private String limparRepeticoes(String categorias) {
String retorno = “”;
int length = categorias.length();
for (int i = 0; i < length; i = i + 3) {
if (i + 3 < length) {
String aux = categorias.substring(i, i+3);
if (categorias.indexOf(aux) >= 0) {
continue;
}
else {
retorno += aux;
}
}
}
return retorno;
}
o problema é esse seu i+3 …
dependendo do numero de caracteres na sua string, nao vai comparar mesmo…
ou pode ate dar ArrayIndexOutOfBounds Exception…
Faz diferente:
//separa as substrings a partir das virgulas e retorna tudo em um vetor
String separadas = categorias.split(",");
//retire as duplicatas...
//seu código aqui...
//reconstrua a string
String retorno = "";
for(int i = 0; i < separadas.length; i++){
if(i != length - 1)
retorno += separadas[i] + ",";
else retorno += separadas[i];
}