所有
我需要计算stringbuffer中字符串中的特定单词。我已经制作了一个程序(请参见下文)来计算字符串中的特定字符,但不知道如何为单词执行此操作。例如......我的字符串是"猫可以杀死鼠标但鼠标不能杀死猫#34;。我需要计算字符串中出现单词cat的次数。
非常感谢你的帮助。 亲切的问候,
Viku
public static void main(String [] args){
StringBuffer myBuffer = new StringBuffer("a is the first vowel in a e i o u");
int charCount = 0;
for(int i =0 ; i< myBuffer.length(); i++){
if(myBuffer.charAt(i) == 'a' || myBuffer.charAt(i) == 'e' ||
myBuffer.charAt(i) == 'i' || myBuffer.charAt(i) == 'o' ||
myBuffer.charAt(i) == 'u'){
charCount++;
}
}
System.out.println(nL + "Compute of Vowels in String: " + charCount);
}
}
答案 0 :(得分:2)
您的代码用于计算字符串中元音的出现次数,而不是no。字符串中特定单词的出现。 这是我的解决方案。
String myBuffer = "a is the first vowel in a e i o u";
String checkWord = "a"; // this is the word to match in the string
int count = 0;
for(String word: myBuffer.split("\\s")) {
if(word.equals(checkWord)) {
count++;
}
}
System.out.println(count);
我使用myBuffer.split("\\s")
将字符串拆分为一个单词数组,并使用String.equals()
方法比较每个数组元素。
在上面的代码中,我正在检查String&#34; a&#34; in&#34; a是e i o u&#34;中的第一个元音。
2
StringBuffer
和StringTokenizer
StringBuffer myBuffer = new StringBuffer("a is the first vowel in a e i o u");
StringTokenizer st = new StringTokenizer(myBuffer.toString());
String checkWord = "a";
int count = 0;
while(st.hasMoreTokens()) {
String word = st.nextToken().toString();
if(word.equals(checkWord)){
count++;
}
}
System.out.println(count);
答案 1 :(得分:1)
您可以将句子拆分为字符串数组并迭代数组以查找匹配的单词
String s = String.valueOf(myBuffer);
String[] array = s.split(" ");
for (int i = 0; i < array.length; i++) {
if(array[i].equals("cat")){
charCount++;
}
}