计算字符串中没有任何循环的单词数量

时间:2015-11-08 05:29:23

标签: java

例如,您发送一个字符串“哟什么是狗?”对于一个函数,该函数返回4个计数。

以下是我写的:

public class CountString {
    public int count(String str){
        int count=0;
        for(int i=0; i<str.length();i++){
            if(str.charAt(i) == ' ')
                count++;
        }
        System.out.printf("\n number of strings: "+ (count+1));
        return count+1;
    }
}

还有其他更快的方法吗?现在,如何在不包含任何循环的情况下执行相同的工作(for,while,do-while)?

2 个答案:

答案 0 :(得分:2)

你可以这样做:

String s = "Yo what’s up dog?";
String[] arr = s.split(" ");
System.out.println(arr.length); //prints 4

答案 1 :(得分:1)

没有循环! -

使用String#split

的一种方法
  1. 将字符串拆分为' '(空格)
  2. 获取字数
  3. 代码段 -

    return str.trim().split(" ");
    

    另一种方法是使用StringTokenizer -

     StringTokenizer st = new StringTokenizer(str); // default delimiter is space
     return st.countTokens();