「java专业词汇统计」java词汇量
本篇文章给大家谈谈java专业词汇统计,以及java词汇量对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java程序:统计单词词频,
不多说,先看代码:
import java.util.*;
import java.io.*;
public class wordsRate {
public static void main(String[] args) throws Exception {
BufferedReader infile = new BufferedReader(new FileReader("article.txt"));
String string;
String file = null;
while ((string = infile.readLine()) != null) {
file += string;
}
file = file.toLowerCase();
file = file.replaceAll("[^A-Za-z]", " ");
file = file.replaceAll("\\s+", " ");
String words[];
words = file.split("\\s+");
MapString, Integer hashMap = new HashMapString, Integer();
for (int i = 0; i words.length; i++) {
String key = words[i];
if (hashMap.get(key) != null) {
int value = ((Integer) hashMap.get(key)).intValue();
value++;
hashMap.put(key, new Integer(value));
} else {
hashMap.put(key, new Integer(1));
}
}
MapString, Object treeMap = new TreeMapString, Object(hashMap);
MapString, Object treeMap1 = new TreeMapString, Object(hashMap);
BufferedWriter bw = new BufferedWriter(new FileWriter("result.txt"));
//下面是我改动的你的代码:
Iterator iter = treeMap.entrySet().iterator();
//定义两个新的数组ss1和ss2,数组长度就是hashMap的长度,里面放分别是hashMap的value和key
String ss1[]=new String[treeMap.size()];;
int ss2[]=new int[treeMap.size()];
int i=0;
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
int val = (Integer)entry.getValue();
String key =(String) entry.getKey();
ss1[i]=key;
ss2[i]=val;
i++;
}
//下面将ss1数组进行排序,并将其与ss2数组的内容相对应起来
int sValue=0;
String sKey="";
for(int j=0;jss2.length;j++){
for(int k=0;ki;k++){
if(ss2[j]ss2[k]){
sValue=ss2[j];
sKey=ss1[j];
ss2[j]=ss2[k];
ss1[j]=ss1[k];
ss2[k]=sValue;
ss1[k]=sKey;
}
}
}
for(int j=0;jss2.length;j++){
System.out.println(ss1[j]+"="+ss2[j]);
bw.write(ss1[j]+"="+ss2[j]);
bw.newLine();
bw.flush();
}
}
}
代码是本人自己写的,也经过了自己的验证,肯定没问题,希望采纳。
功能实现了,我是将其key和value值放在了数组之中,然后进行排序,将其输出到了txt文件里
排序方式不一样,实现的方式也不一样,所谓仁者见仁智者见智。
java 单词统计并排序
我帮你写好了。
==========================================================
程序如下:
import java.io.*;
import java.util.TreeMap;
import java.util.Map;
public class Word {
private static TreeMapString, Integer words = new TreeMapString, Integer(String.CASE_INSENSITIVE_ORDER);
private static void sort () throws IOException {
File f = new File("words.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(f)));
String word = null;
while ((word = reader.readLine()) != null) {
if (words.containsKey(word))
words.put(word, words.get(word)+1);
else
words.put(word, 1);
}
reader.close();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f)));
for (Map.EntryString, Integer item : words.entrySet()) {
writer.write(item.getKey() + "\t" + item.getValue());
writer.newLine();
}
writer.close();
}
public static void main (String args[]) throws IOException {
sort();
}
}
=========================================================
测试结果:(按照字母顺序排序)
apple 3
bad 1
boy 4
exist 1
good 2
hello 2
java 2
like 1
random 1
really 1
this 1
tree 1
what 2
words 1
world 1
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);
}
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
vaela
java单词统计?
//业务分析: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"))) {
HashMapString, Integer map = new HashMapString, 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);
}
}
}
}
SetMap.EntryString, Integer entrySet = map.entrySet();//集合中的元素以k,v形式取出
ArrayListMap.EntryString, Integer list = new ArrayListMap.EntryString, Integer(entrySet);//放入List集合中
Collections.sort(list, new ComparatorMap.EntryString, Integer() {//进行降序排序
@Override//重写比较器
public int compare(Map.EntryString, Integer o1, Map.EntryString, Integer o2) {
return o2.getValue().compareTo(o1.getValue());
}
});
System.out.println(list);//打印结果
}
}
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=in.nextLine(); //输入一行字符
/*---------*/
count=Count(line);
System.out.println(count);
}
}
public static int Count(String str){
String[] str1=str.split(" ");
int count=str1.length;
return count;
}
}
关于java专业词汇统计和java词汇量的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。