「java专业词汇统计」java词汇量

博主:adminadmin 2023-01-23 15:06:08 284

本篇文章给大家谈谈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词汇量的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。