String A;
A="abcdefabccdeefg"
for(int i=0;i<A.length();i++){
    System.out.print(A.charAt(i));
}
输入的字符是重复的,如何让其输入的字符是不重复的呢。

解决方案 »

  1.   

    String A;
    A="abcdefabccdeefg"
    String temp ="";
    for(int i=0;i<A.length();i++){
        if (temp .indexOf(A.charAt(i))!=-1) {
           System.out.print(A.charAt(i));
           temp = temp + A.charAt(i);
         }
    }
      

  2.   

    逐个字符取出来放Set,然后从Set打印,Set的对象是不可重复的
      

  3.   

    lz是方法不错,巧妙,只if (temp .indexOf(A.charAt(i))!=-1) 这判断语句写反了,应该写
    if (temp .indexOf(A.charAt(i))==-1) {
    ======================
    String A;
            A="abcdefabccdeefg";
                    String temp ="";
            for(int i=0;i<A.length();i++){
                if (temp .indexOf(A.charAt(i))==-1) {
                    System.out.print(A.charAt(i));
                    temp = temp + A.charAt(i);
                }
            }
      

  4.   

    谢谢大家,问题已经解决了,不过不太明白temp.indexOf(A.charAt(i))==-1是什么意思。
    记得indexOf()的作用是取字符在变量的第几位。写在这里的作用不太明白?
      

  5.   

    temp.indexOf(A.charAt(i))==-1
    A.charAt(i)是指A里面的第i+1个字符。
    如果temp.indexOf(A.charAt(i))=-1说明字符串temp里面不包含字符A.charAt(i).
    假如包含的话indexOf()方法返回的是字符所在的索引号。
      

  6.   

    我的方法用了StringBufferimport java.util.*;
    public class Untitled1 {
      public static void main(String[] args) {
        String x = "abc45345dfsadfdfhgfhda";
        StringBuffer strB = new StringBuffer(x);
        ArrayList al = new ArrayList();
        for(int i=0 ; i<strB.length() ; i++)
        {
          for(int j=0 ; j<strB.length(); j++)
          {
            if(strB.charAt(i) == strB.charAt(j) && i!=j)
            {
              al.add(strB.charAt(i));
              strB.deleteCharAt(i);
              strB.deleteCharAt(j-1);
            }
          }
        }
        System.out.println("原字符串为:"+x+"\n新字符串为:"+strB);
        System.out.print("重复的字符为:");
        for(int i=0 ; i<al.size();i++){
          System.out.print(al.get(i)+",");
        }
      }
    }输出结果
    原字符串为:abc45345dfsadfdfhgfhda
    新字符串为:b5dshgda
    重复的字符为:a,4,5,f,d,f,h,
      

  7.   

    String[] strArr = str.split(",");
            String strAim = ",";
            for (int i = 0; i < strArr.length; i++) {
                if (strArr.equals("")) continue;
                if (strAim.indexOf("," + strArr + ",") == -1) {
                    strAim = strAim + strArr + ",";
                }
            }
            if (!strAim.equals(","))
                strAim = strAim.substring(1, strAim.length() - 1);
            else strAim = "";
            return strAim;