欢迎来到天天文库
浏览记录
ID:54059196
大小:29.00 KB
页数:7页
时间:2020-04-12
《汉字字频统计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、importjava.awt.List;importjava.io.*;importjxl.*;importjxl.write.*;importjava.text.DecimalFormat;importjava.util.ArrayList;publicclassstatistics{publicstaticvoidmain(String[]args){//读字表ArrayListchtable=readFromTable("CHTable.txt");System.out.println("字表大小为:"
2、+chtable.size());//读文件ArrayListnumlist=readFromFile("10.txt",chtable);//排序ArrayListchlist=sort(chtable,numlist);//计算汉字的总数intsum=0;for(inti=0;i3、--");//返回指定个数的汉字频率统计结果ArrayListfreqlist=frequency(chlist,numlist,sum,100);//计算熵值floatsh=entropy(freqlist);//计算指定个汉字的字频总和floatfre1=freqSum(freqlist,1);floatfre2=freqSum(freqlist,20);floatfre3=freqSum(freqlist,100);floatfre4=freqSum(freqlist,600);floatfre5=fr4、eqSum(freqlist,2000);floatfre6=freqSum(freqlist,3000);floatfre7=freqSum(freqlist,6000);ArrayListfreal=newArrayList();freal.add(fre1);freal.add(fre2);freal.add(fre3);freal.add(fre4);freal.add(fre5);freal.add(fre6);freal.add(fre7);ArrayListnal=newArrayList();5、nal.add(1);nal.add(20);nal.add(100);nal.add(600);nal.add(2000);nal.add(3000);nal.add(6000);System.out.println("--------------------程序结束-------------------");//生成Excel的类 try{//打开文件 WritableWorkbookbook=Workbook.createWorkbook(newFile("统计结果.xls"));//生成工作表,参6、数0表示这是第一页 WritableSheetsheet=book.createSheet(sum+"字",0);/**生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义*///表头 Labellabel1=newLabel(0,0,"字符");sheet.addCell(label1);Labellabel2=newLabel(1,0,"频率");sheet.addCell(label2);for(inti=0;i<100;i++){//中文字符 Labellabel=new7、Label(0,i+1,chlist.get(i).toString());sheet.addCell(label);//出现的频率jxl.write.Numbernumber=newjxl.write.Number(1,i+1,(Float)freqlist.get(i));sheet.addCell(number);}//写入熵值Labellsh=newLabel(0,101,"熵值");sheet.addCell(lsh);jxl.write.Numbernsh=newjxl.write.Number(8、1,101,sh);sheet.addCell(nsh);//写入字频总和for(inti=0;i
3、--");//返回指定个数的汉字频率统计结果ArrayListfreqlist=frequency(chlist,numlist,sum,100);//计算熵值floatsh=entropy(freqlist);//计算指定个汉字的字频总和floatfre1=freqSum(freqlist,1);floatfre2=freqSum(freqlist,20);floatfre3=freqSum(freqlist,100);floatfre4=freqSum(freqlist,600);floatfre5=fr
4、eqSum(freqlist,2000);floatfre6=freqSum(freqlist,3000);floatfre7=freqSum(freqlist,6000);ArrayListfreal=newArrayList();freal.add(fre1);freal.add(fre2);freal.add(fre3);freal.add(fre4);freal.add(fre5);freal.add(fre6);freal.add(fre7);ArrayListnal=newArrayList();
5、nal.add(1);nal.add(20);nal.add(100);nal.add(600);nal.add(2000);nal.add(3000);nal.add(6000);System.out.println("--------------------程序结束-------------------");//生成Excel的类 try{//打开文件 WritableWorkbookbook=Workbook.createWorkbook(newFile("统计结果.xls"));//生成工作表,参
6、数0表示这是第一页 WritableSheetsheet=book.createSheet(sum+"字",0);/**生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义*///表头 Labellabel1=newLabel(0,0,"字符");sheet.addCell(label1);Labellabel2=newLabel(1,0,"频率");sheet.addCell(label2);for(inti=0;i<100;i++){//中文字符 Labellabel=new
7、Label(0,i+1,chlist.get(i).toString());sheet.addCell(label);//出现的频率jxl.write.Numbernumber=newjxl.write.Number(1,i+1,(Float)freqlist.get(i));sheet.addCell(number);}//写入熵值Labellsh=newLabel(0,101,"熵值");sheet.addCell(lsh);jxl.write.Numbernsh=newjxl.write.Number(
8、1,101,sh);sheet.addCell(nsh);//写入字频总和for(inti=0;i
此文档下载收益归作者所有