我正在做一個編碼程序,我應該刪除出現兩次的字符串中的每個字符。我試圖遍歷字符串,但它沒有奏效。有誰知道如何做到這一點?謝謝。查找字符串中的字符
public static String encodeScrambledAlphabet(String str)
{
String newword = str;
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
newword += alphabet;
newword = newword.toUpperCase();
for (int i = 0, j = newword.length(); i < newword.length() && j >=0; i++,j--)
{
char one = newword.charAt(i);
char two = newword.charAt(j);
if (one == two)
{
newword = newword.replace(one, ' ');
}
}
newword = newword.replaceAll(" ", "");
return newword;
}
你可以發佈你的嘗試,我們會告訴你如何解決它。 – dasblinkenlight 2012-02-12 02:03:25
那裏我編輯了它 – 2012-02-12 02:06:49
首先,你爲什麼要添加字母表?此外,你正在從字符串的兩端同時迭代。隨着'我'增加,'j'減少;所以如果一個實例距離字符串的前面很遠,而另一個實例來自後面,則只會發現重複。第三,'j'應該從'newword.length() - 1'開始,而不是'newword.length()';否則對'newword.charAt(j)'的第一次調用將會試圖超出'String'的末尾。嘗試解決這三個問題;如果你仍然陷入困境,請再次發帖。 – 2012-02-12 02:24:59