文字列 userKeyword は、ユーザーのキーボード入力から取得されます。重複する文字を削除してこの文字列を返すメソッドを作成しようとしました。
このタスクを完了するには charAt と indexOf を使用することをお勧めします。したがって、最も簡単な方法は、アルファベットを調べて、indexOf にキーワードに含まれる文字を選択させ、それらを連結させることです。以下でこれを実行しようとしましたが、成功しませんでした。
これを達成するためのより簡単な、またはより直接的な方法はありますか?
コードが機能しないのはなぜですか? (26 'a's のリターンが得られます)
public static final String PLAIN_ALPHA = "abcdefghijklmnopqrstuvwxyz";
private String removeDuplicates(String userKeyword){
int charLength = PLAIN_ALPHA.length();
int charCount = 0;
char newCharacter = PLAIN_ALPHA.charAt(charCount);
String modifiedKeyword = "";
while (charCount < charLength){
if (userKeyword.indexOf(newCharacter) != -1);{
modifiedKeyword = modifiedKeyword + newCharacter;
}
charCount = charCount + 1;
}
return modifiedKeyword;
}
while (charCount < charLength){
newCharacter = PLAIN_ALPHA.charAt(charCount);
if (userKeyword.indexOf(newCharacter) != -1);{
modifiedKeyword = modifiedKeyword + newCharacter;
}
charCount = charCount + 1;
while ループ内で newCharacter の割り当てをシフトすると、重複が省略された userKeyword ではなく、PLAIN_ALPHA とまったく同じ出力が得られます。私は何を間違っていますか?