問題は、元の文字列から重複した文字を削除し、新しい文字列を返すメソッドを作成するように求めます。たとえば、元の文字列はabracadabraであり、結果はabrcdです。文字列から重複する文字を削除する方法
StringBuilderを使用して文字を削除することを考えていましたが、コードを実行しようとしたときに何か問題が発生しました。誰でも私がそれを修正するのを助けることができる。
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;
}
突然変異さ何かを試してみてくださいそれ以上の反復は常に災害のためのレシピです。 –
Rath削除よりも、元の文字列のコピーを作成し、既に存在するものをスキップする以外は、文字を1つずつ追加することを考えてください。 'StringBuilder'は文字を調べるのにはとても良い方法を提供していないので、' Set 'を使ってそこにあるものを追跡することを検討してください。 –
Gene