java单词统计?

1.在控制台中输入一个较长的英文字符串,统计该英文字符串中每个单词出现的次数,并按照出现次数从高到低的次序打印统计结果。
2.从一个英文文本文件中读出文本内容,并实现第一点功能。

第1个回答  2020-12-03
//业务分析:1.读入文件,拿到内容;2.解析文件,进行切分;3.将每个单词放入集合;4.统计出现次数并排序
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.*;
public static void main(String[] args) throws Exception {
//读文件
try (BufferedReader br = new BufferedReader(new FileReader("D:/words.txt"))) {
HashMap<String, Integer> map = new HashMap<String, Integer>();//建一个存放读取数据的集合
String line = null;//每次读取一行
while ((line = br.readLine()) != null) {//循环读入
String[] split = line.split(" ");//切分
for (String word : split) {//遍历字符串数组
if (word.length() != 0) {//判断对象不为空
if (map.containsKey(word)) {//判断集合中是否包括目标单词
map.put(word, map.get(word) + 1);//如果包括,value值+1,如果不包括,将新单词放入集合中
} else {
map.put(word, 1);
}
}
}
}
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();//集合中的元素以k,v形式取出
ArrayList<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(entrySet);//放入List集合中
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {//进行降序排序
@Override//重写比较器
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o2.getValue().compareTo(o1.getValue());
}
});
System.out.println(list);//打印结果
}
}

请问:java中如何使用count统计单词数
先假设一个句子,根据空格的数目,得出这个句子的单词个数应该为 空格数目+1;然后对每个句子进行此操作,把最后每句的个数加在一起就行了.

用java写一个统计字符串中指定单词的个数
单词是s="book";直接输出str.split(s).length-1就是单词的个数。原理就是字符串前后都加空格以后,再用你要查找的单词把字符串分成数组,数组元素的个数减1,就是单词的个数了。当然,首先要用contains() 方法判断一下字符串是否已经包含要找的单词。

java统计单词的个数
import java.util.Scanner;public class Test40031 { public static void main(String []args ){ int ri, repeat,count, word,i;String line;char c;Scanner in=new Scanner(System.in);repeat=(in.nextLine()).charAt(0)-'0'; \/\/输入repeat for(ri=1; ri<=repeat; ri++){ line=i...

Java 统计单词个数并按照出现次数进行排序
public static void main(String[] args) { \/\/ TODO Auto-generated method stub String str = "I am a student";String[] arr = str.split(" ");System.out.println("共"+arr.length+"个单词");for(String item:arr) System.out.println(item);} 如果对您有帮助,请记得采纳为满意答案...

java中如何统计某个字母在一个字符串中出现了多少次啊
1、根据length获取字符串长度 String s = "abcdedfae";\/\/定义一个字符串int len = s.length();\/\/获取原来的字符串长度2、通过replaceAll方式,把字符串中该字母替换成空 String s1 = s.replaceAll(要统计的字母,"");3、获取替换后的字符串长度 int len2 = s1.length();4、原来的字符串长度...

用java 编写一个程序,接受用户输入的一段英文文字,统计出其中的字符个...
String str = "";int dc = 0;int zc = 0;int jc = 0;while(scanner.hasNext()){ str = scanner.next();zc += str.length();dc++;System.out.println(str);if (str.contains(".")){ jc += 1;} if (str.contains(";")){ break;} } \/\/ scanner.System.out.println("单词...

java程序:统计一段英文段落中每个单词出现的次数,这个段落存储在一个...
import java.util.HashMap;import java.util.Iterator;import java.util.Scanner;\/ 字典类,记录文章中出现过的所有单词及其次数 author Administrator \/ public class Dictionary { private HashMap< String, Integer > dictionary;private int wordsCount;\/ 字典这个类的构造函数 \/ public Dictionary() {...

请问:java中如何使用count统计单词数
java:public static long getEnglishStrLength(String str){ long count = 0;\/\/如ok,let's go,每个单词只能以空格来区分(如果要加上其它区分如 "," 号,那么就多作个循环吧)String [] strArr = str.split(" ");\/\/条件,每个单词必需是英文字母和"'"号,如上面的 let's 算是一个单词 fo...

用java怎么实现统计一英文文档里各个英语字母的个数及所占百分比_百度...
import java.io.FileReader;import java.io.IOException;import java.text.DecimalFormat;import java.text.NumberFormat;public class Test { private static NumberFormat nf = new DecimalFormat("0.00");public static void main(String[] args) throws IOException { BufferedReader br = new Buffered...

Java如何统计给定单词中各字母的 ASCII 码值的和,并把ASCII值最大的字...
import java.util.Scanner;public class Test { public static void main (String[] args){ String s;int sum=0;char c,max;Scanner sc=new Scanner(System.in);s=sc.next();max=s.charAt(0);for(int i=0;imax)max=c;} sc.close();System.out.println("ASCII码值的和:"+sum);Syst...

相似回答