如题所示,主要是重复的如何处理

解决方案 »

  1.   

    String s = "adfasdfaaadddaaddeeedddeeeffg";
            //要统计的字符
            char comp = 'a';
            char current = ' ';
            int count = 0;
            char[] chars = s.toCharArray();
            for(int i = 0; i < chars.length; i++)
            {
                if(current != chars[i])
                {
                    current = chars[i];
                    if(comp == current)
                    {
                        count++;
                    }
                }
            }
            System.out.println(count);
    要统计的字符重复时不统计。
      

  2.   


    public static void main(String[] args) {
    String temp="df2dd34ffpnfdwfelwtr";
    String rex = "f";
    Pattern p = Pattern.compile(rex);
    Matcher m = p.matcher(temp);
    int count=0;
    int startindex=temp.length()+1;
      while (m.find()) {
      if(startindex+1!=m.start()){
      count++;
      System.out.println("得到的"+m.group()+"起始标"+m.start());
      }
      startindex= m.start();
      }
    }
      

  3.   

    package com.test;public class Demo {
    public static void main(String[] args) {

    Demo ks=new Demo("hell,ccsdn.com!",'c'); }
    private String str;
    private char c;
    private int Num=0;

    public Demo(String strs,char cs)
    {
    this.str=strs;
    this.c=cs;
    for(int i=0;i<str.length();i++)
    {
    if(str.charAt(i)==c)
    {
    if(str.charAt(i)!=str.charAt(i-1))
    {
    Num++;
    }
    }
    }
    System.out.println(Num);
    }
    }
      

  4.   

    package com.test;public class Demo {
    public static void main(String[] args) {

    Demo ks=new Demo("hell,ccsdn.com!",'c'); }
    private String str;
    private char c;
    private int Num=0;

    public Demo(String strs,char cs)
    {
    this.str=strs;
    this.c=cs;
    for(int i=0;i<str.length();i++)
    {
    if(str.charAt(i)==c)
    {
    if(str.charAt(i)!=str.charAt(i-1))
    {
    Num++;
    }
    }
    }
    System.out.println(Num);
    }
    }
      

  5.   

     public static void main(String[] args)
       {
      String   str = "sdafasddfaaadddaaddeeedd";
          Map<String,Integer> maps = new HashMap<String,Integer>();
        
           char up = ' ';
           for(int i=0;i<str.length();i++)
           {
               char achar = str.charAt(i);
               
               if(up==achar)
               {
                 Integer value =   maps.get(achar+"");
                 maps.put(achar+"",value==null?1:value+1);
               }
               up = achar;
           }
          System.out.println(maps);
        
       }
      

  6.   

    以前在论坛上好像看到类似的问题,将字符窜放到Set集中,
      

  7.   

    额...稍微改一下Matcher m = Pattern.compile("f+").matcher("xsdfsdfsadfffdsfsdasdfffsdsddfsd");
    int i = 0;
    while (m.find()) {
    i++;
    }
    System.out.println(i);