例如一个字符串:a="1.1.10.12.1",如何判断字符"."在a中出现的次数?

解决方案 »

  1.   

    String a = "1.1.1.1";
    int count = 0;
    for (char c : a.toCharArray()) {
    if(c=='.')count++;
    }
    System.out.println(count);
      

  2.   

    String s = "1.1.10.12.1";
            
           //第一种
           //要统计的字符
            char comp = '.';
            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);        //第二种
             String regex = "(\\.)";
            Pattern p = Pattern.compile(regex);
            Matcher m = p.matcher(s);
            count = 0;
            while(m.find())
            {
                count++;
            }
            System.out.println(count);
      

  3.   

    遍历,equals
    int count;
    for (int i = 0; i< a.length; i ++) {
           if (".".equals(a.charAt(i)) (
    )
    }
      

  4.   

    遍历,equals
    int count = 0;
    for (int i = 0; i< a.length; i ++) {
      if (".".equals(a.charAt(i)) {
           count++;
       }
    }
    刚才点错了,应该还有更好的方法,,
      

  5.   

    再来个,虽然效率差点但是代码简单。String a = "1.1.1.1";
    String[] ar = a.split(".");
    int count = ar.length-1;
    if(count<0)count=0;
      

  6.   

    上面写错了,应为
    String a = "1.1.1.1";
    String[] ar = a.split("[.]");
    int count = ar.length-1;
    if(count<0)count=0;
      

  7.   

    循环都不用
    String a = "1.1.10.12.1";
    String b = a.replace(".","");
    int len = a.length()-b.length();
    System.out.println(len);
      

  8.   

    你认为replace是怎么实现的?这个效率还没遍历来的快