Le problème me demande d'écrire une méthode pour supprimer les caractères dupliqués de la chaîne d'origine et renvoyer la nouvelle chaîne. Par exemple, la chaîne d'origine est abracadabra et le résultat doit être abrcd.comment supprimer le caractère en double d'une chaîne
Je pensais utiliser StringBuilder pour supprimer le caractère, mais quelque chose s'est mal passé quand j'ai essayé d'exécuter le code. quelqu'un peut-il m'aider à le réparer.
public static String eliminateDuplicates(String str){
String result = "";
StringBuilder strings = new StringBuilder(str);
for(int i = 0; i<str.length(); i++){
for(int j = 1; j<str.length();j++){
if(str.charAt(i)==str.charAt(j)){
strings.deleteCharAt(j);
}
}
}
result = strings.toString();
return result;
}
quelque chose Mutating pendant que vous êtes itérer sur elle est toujours une recette pour le désastre ... –
Rath Au lieu de supprimer, pensez en termes de construction d'une copie de la chaîne d'origine, en ajoutant les caractères un par un, excepté de sauter ceux qui sont déjà là. 'StringBuilder' ne fournit pas un très bon moyen de rechercher des caractères, alors considérez de garder une trace de ce qu'il ya dedans avec un' Set '. –
Gene