如何在java中删除String中的重复字符

时间:2015-01-10 13:31:38

标签: java string

我尝试使用StringTokenizer,但我应该使用什么作为分隔符? 我有String s="abccc"并希望将其显示为"abc"

class str {
    public static void main(String[] args) {
        String s = "abccc";
        StringTokenizer token = new StringTokenizer(s, "");
        for (int i = 0; i < token.length(); i ++)
            for (int j = 0; j < token.length(); j ++)
                if ((token.charAt(i) == token.charAt(j)) {
                    // ........
                }
            }
        }
    }
}

我应该使用什么作为分隔符?这是比较的正确方法吗?

1 个答案:

答案 0 :(得分:1)

StringTokenizer类在这里是一个错误的工具,因为它会生成令牌,一个或多个字符的字符串,而您正在使用单个字符。

您可以通过逐个字符的两个嵌套循环轻松解决此问题:

  • 第一个for (int i ...)循环从零开始到字符串的长度
  • 在第一个循环中创建一个布尔标志,并将其设置为found = false
  • 第二个for (int j ...)循环从i-1下降到零,检查每个字符
  • 如果位置ij的字符串字符相同,请设置found = true并打破循环
  • 如果在第二个循环结束时found标志仍为false,请在索引i处打印字符