单词?
那就readline,然后再用Token,空格截取
有个好的办法吗?抛砖引玉了

解决方案 »

  1.   

    1.4以后可以用split,用空格做分隔符
    然后判断数组长度
    这个好像要快些,不过没测试过
      

  2.   

    如果是全英文,用BreakIterator:import java.text.BreakIterator;
    import java.util.Locale;public class BreakIteratorTest
    {
        public static void main(String args[])
        {
            //if (args.length == 1)
            {
                //String stringToExamine = args[0];
                String s = "The BreakIterator class implements methods for finding the location of";
                //print each word in order
                BreakIterator boundary = BreakIterator.getWordInstance();
                boundary.setText(s);
                int start = boundary.first();
                for (int end = boundary.next(); end != BreakIterator.DONE; start = end, end = boundary.next())
                    System.out.println(s.substring(start, end));
            }
        }
    }
      

  3.   

    int num;
    String n;
    String s=in.readLine();
    StringTokenizer t=new StringTokenizer(s," ");
    num=t.countTokens();
      

  4.   

    大家有没有想过,如果两个单词之间有多个空格呢??比如I am  a boy??单纯分割字串不合适啊.
      

  5.   

    String s="I am a   boy";
    String sArry[];
    sArry=s.split(" ");
    int count;
    for(int i=0;i<sArry.length;i++)
    {
       if(sArry[i]!="")
          count++;
    }
    System.out.println(count);