stringBuffer  string=new StringBuffer ("ni hao h ascv dgegha sgrsjhd hehde");
怎么判断这个字符串里面一共出现了多少个空格呀?
并且当等于空格的时候运行System.out.pint("空格");这段话
请问谁知道应该怎么写呀?

解决方案 »

  1.   

    先写个简单的方法,采用JDK的类实现。不给分,楼主太不对了。package libiao;import java.util.StringTokenizer;public class getBlackLength
    {
    public static void main(String[] args)
    {
    StringBuffer string = new StringBuffer("ni hao h ascv dgegha sgrsjhd hehde");
    String temp = string.toString();
    StringTokenizer st = new StringTokenizer(temp," ");
    while(st.hasMoreTokens())
    {
    st.nextToken();
    if(st.hasMoreTokens())
    {
    System.out.println("空格");
    }
    }

    System.out.println("空格个数 ======= " + (st.countTokens() - 1)); }}
      

  2.   

    方法二:public class getBlackLength
    {
    public static void main(String[] args)
    {
    StringBuffer string = new StringBuffer("ni hao h ascv dgegha sgrsjhd hehde");
    String temp = string.toString();
    int i = 0 ;
    while(temp.indexOf(" ") != -1)
    {
    temp = temp.replaceFirst(" ","");
    System.out.println("空格");
    i ++ ;
    }
    System.out.println("空格个数 ===== " + i);
    }}
      

  3.   

    for(int i = 0; i < string.length(); i++)
    {
    if(string.charAt(i) == ' ')
    System.out.print(string.charAt(i));
    }
    String ss = string.toString();
    int n = ss.length()-ss.replaceAll(" ","").length();
      

  4.   

    for(int i = 0; i < string.length(); i++)
    {
    if(string.charAt(i) == ' ')
    System.out.print("空格");
    }
    String ss = string.toString();
    int n = ss.length()-ss.replaceAll(" ","").length();
      

  5.   

    在java的API的文档中,有方法,自己好好找找,java是面向对象的,不是面向过程的,有方法,
      

  6.   

    StringBuffer  string=new StringBuffer ("ni hao h ascv dgegha sgrsjhd hehde");
        System.out.println(string+"里共有关"+ string.toString().replaceAll("\\S","").length()+"个空格!");
      

  7.   

    public class Test
     { 
       public static void main(String[] args) 
               {
    StringBuffer  string=new StringBuffer ("ni hao h ascv dgegha sgrsjhd hehde");
    String newStr = string.toString();
    String str[]=newStr.split(" ");
    System.out.println(str.length-1);
       }
               
     } 
    这个方法比较简单
      

  8.   

    增加记录变量i就可以了测试成功!
    空格数是6.空格
    空格
    空格
    空格
    空格
    空格
    空格个数 ======= 6
    import java.util.StringTokenizer;public class getBlackLength
    {
    public static void main(String[] args)
    {
    int i = 0;
    StringBuffer string = new StringBuffer("ni hao h ascv dgegha sgrsjhd hehde");
    String temp = string.toString();
    StringTokenizer st = new StringTokenizer(temp," ");
    while(st.hasMoreTokens())
    {
    st.nextToken();
    if(st.hasMoreTokens())
    {
    System.out.println("空格" );
    i++;
    }
    }System.out.println("空格个数 ======= " + (i));}}
      

  9.   

    //方法二public class getBlackLength
     { 
       public static void main(String[] args) 
               {
    StringBuffer  string=new StringBuffer ("ni hao h ascv dgegha sgrsjhd hehde");
    String newStr = string.toString();String str[]=newStr.split(" ");int i = 0;
    for( i = 0; i < str.length; i++)
    System.out.println("空格");
    System.out.println( str.length-1);
       }
               
     }
      

  10.   

    我也碰过类似的题:输入一行字符,统计共有几个单词(即kkk kkk算两个单词)
    我想问的是
    如果连续向个空格呢?
    如果开头就有空格呢?
    又应该如何处理?
      

  11.   

    public class getBlackLength
     { 
       public static void main(String[] args) 
               {
    StringBuilder string=new StringBuilder ("ni hao h ascv dgegha sgrsjhd hehde");
        System.out.println(string+"里共有关"+ string.toString().replaceAll("\\S","").length()+"个空格!");
       }
               
     }
    这个支持单线程
    运行速度要快几秒!
      

  12.   

    piaoye83() 
    我也碰过类似的题:输入一行字符,统计共有几个单词(即kkk kkk算两个单词)
    我想问的是
    如果连续向个空格呢?
    如果开头就有空格呢?
    又应该如何处理?
    看情况用方法的了
    像你现在说的那种情况就可以用下面的方法了
    它是从第一个元素遍历,每一个元素都可遍历
    这个前面加了首空格和连续的空格空格
    空格
    空格
    空格
    空格
    空格
    空格
    空格
    8测试成功!人是活的。文字是死的。
    public class getBlackLength
     { 
       public static void main(String[] args) 
               {
    StringBuffer  string=new StringBuffer (" ni hao h ascv  dgegha sgrsjhd hehde");
    for(int i = 0; i < string.length(); i++)
    {
    if(string.charAt(i) == ' ')
    System.out.println("空格");
    }
    String ss = string.toString();
    int n = ss.length() - ss.replaceAll(" ","").length();
    System.out.println(n);
       }
               
     }