java统计单词出现次数_java-统计⼀段句⼦中各单词出现的次
数
问题:统计⼀段句⼦中各单词出现的次数。
思路:
1、使⽤split⽅法将⽂章进⾏分割,我们这⾥以空格、逗号和句点为分隔符,然后存到⼀个字符串数组中。
2、创建⼀个hashMap集合,key是字符串类型,保存单词;value是数字类型,保存该单词出现的次数。
3、遍历思路1中的字符串数组,如果key(单词)没有出现过,map中增加⼀个元素,key为该单词,定义value为1;如果key(单词)出现过,那么value的值加1。
4.遍历输⼊key及其对应的value值。
具体代码如下:
StrList类,实现统计单词出现次数的⽅法。
package wordCounts;
import java.util.HashMap;
import java.util.Map.Entry;
public class StrList {
public String StatList(String s) {
StringBuffer sb = new StringBuffer();
HashMap has = new HashMap();//打开哈希表,字符类型储存key(单词),整型储存value(单词出现的次数)
String[] sList = s.split(" |,|\\.");//使⽤split⽅法将字符串s按空格、逗号和句点分割开,并存在字符数组sList中
for(int i=0; i
if(!ainsKey(sList[i])){//如果没有这个单词,就将单词存⼊key⾥,value值为1;containsKey⽅法 判断集合中是否包含指定的key
has.put(sList[i], 1);
}else{//如果已经存在,就将value值加1;⽤get⽅法获取key对应的value值
has.put(sList[i], (sList[i])+1);
}
java中split的用法}
//使⽤增强for循环遍历,通过Entry集合访问,可以访问key及其对应的Value值
for(Entry Set()){
System.out.Key()+":"+Value());
}
String();
}
}
main⽅法(创建另⼀个类):
⽅式⼀:已经指定好了句⼦
package wordCounts;
import java.util.Scanner;
public class WordCounts{
public static void main(String[] args) {
String sentence = "The most distant way in the world," + "is not the way from birth to the end. "
+ "It is when I stand in front of you,"
+ "but you don't understand I love you.";
System.out.println(StatList(sentence));
}
}
⽅式⼆:从键盘输⼊
package wordCounts;
import java.util.Scanner;
public class WordCounts{
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
String ab = Line();
StrList sl = new StrList();
System.out.println(sl.StatList(ab));
}
}
————————————————
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论