Java 统计一句话中相同单词的个数 在线等!!

2025-04-14 12:45:31
推荐回答(1个)
回答(1):

简单地写了一个类,只有一个方法和一个主函数,实现了你要求的功能:
其中countWords(List list,String substr)方法,是统计某个单词在句子中的次数的。
希望对你有所帮助。
代码如下:

package com.yss.string;

import java.util.ArrayList;
import java.util.List;

public class StringTest {

/**
* @param args
*/
public static void main(String[] args) {
StringTest st=new StringTest();
String str="how many inches are in 2 meters?";
String[] sstr=str.split(" ");
List list=new ArrayList();
for(int i=0;i String strTemp=sstr[i];
if(strTemp.indexOf("?")>-1){
strTemp=strTemp.substring(0,strTemp.indexOf("?"));
}
list.add(strTemp);
}
System.out.println(sstr.length);
System.out.println("words\toccurence");
System.out.println("are\t"+st.countWords(list, "are"));
System.out.println("how\t"+st.countWords(list, "how"));
System.out.println("in\t"+st.countWords(list, "in"));
System.out.println("inches\t"+st.countWords(list, "inches"));
System.out.println("many\t"+st.countWords(list, "many"));
System.out.println("meters\t"+st.countWords(list, "meters"));
}

public int countWords(List list,String substr){
int num=0;
for(int i=0;i if(list.get(i)!=null){
String s=list.get(i).toString();
if(s.equals(substr)){
num++;
}
}
}
return num;
}
}