怎么把输出的单词存放到一个数组里

问题描述

importjava.io.*;importjava.awt.*;importjava.io.File;importjava.awt.event.*;importjava.util.Vector;classWordStatistic{VectorallWords,noSameWord;WordStatistic(){allWords=newVector();noSameWord=newVector();}publicvoidwordStatistic(Filefile){try{RandomAccessFileinOne=newRandomAccessFile(file,"rw");RandomAccessFileinTwo=newRandomAccessFile(file,"rw");longwordStarPostion=0,wordEndPostion;longlength=inOne.length();intflag=1;intc=-1;for(intk=0;k<=length;k++){c=inOne.read();booleanboo=(c<='Z'&&c>='A')||(c<='z'&&c>='a');if(boo){if(flag==1){wordStarPostion=inOne.getFilePointer()-1;flag=0;}}else{if(flag==0){if(c==-1)wordEndPostion=inOne.getFilePointer();elsewordEndPostion=inOne.getFilePointer()-1;inTwo.seek(wordStarPostion);bytecc[]=newbyte[(int)wordEndPostion-(int)wordStarPostion];inTwo.readFully(cc);Stringword=newString(cc);allWords.add(word);if(!(noSameWord.contains(word)))noSameWord.add(word);}flag=1;}}inOne.close();inTwo.close();}catch(Exceptione){}}publicVectorgetAllWords(){returnallWords;}publicVectorgetNoSameWord(){returnnoSameWord;}}classStatisticFrameextendsFrameimplementsActionListener{WordStatisticstatistic;TextAreashowMessage;ButtonopenFile;FileDialogopenFileDialog;VectorallWord,noSameWord;publicStatisticFrame(){statistic=newWordStatistic();showMessage=newTextArea();openFile=newButton("OpenFile");openFile.addActionListener(this);add(openFile,BorderLayout.NORTH);add(showMessage,BorderLayout.CENTER);openFileDialog=newFileDialog(this,"打开文件对话框",FileDialog.LOAD);allWord=newVector();noSameWord=newVector();setSize(350,300);setVisible(true);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});validate();}publicvoidactionPerformed(ActionEvente){noSameWord.clear();allWord.clear();showMessage.setText(null);openFileDialog.setVisible(true);StringfileName=openFileDialog.getFile();if(fileName!=null){statistic.wordStatistic(newFile(fileName));allWord=statistic.getAllWords();noSameWord=statistic.getNoSameWord();showMessage.append("n"+fileName+"中有"+allWord.size()+"个英文单词");showMessage.append("n其中有"+noSameWord.size()+"个互不相同英文单词");showMessage.append("n按使用率排列:n");intcount[]=newint[noSameWord.size()];for(inti=0;i<noSameWord.size();i++){Strings1=(String)noSameWord.elementAt(i);for(intj=0;j<allWord.size();j++){Strings2=(String)allWord.elementAt(j);if(s1.equals(s2))count[i]++;}}for(intm=0;m<noSameWord.size();m++){for(intn=m+1;n<noSameWord.size();n++){if(count[n]>count[m]){Stringtemp=(String)noSameWord.elementAt(m);noSameWord.setElementAt((String)noSameWord.elementAt(n),m);noSameWord.setElementAt(temp,n);intt=count[m];count[m]=count[n];count[n]=t;}}}for(intm=0;m<noSameWord.size();m++){showMessage.append("n"+(String)noSameWord.elementAt(m)+":"+count[m]+"/"+allWord.size()+"="+(1.0*count[m])/allWord.size());}}}}publicclassStatisticMainClass{publicstaticvoidmain(Stringargs[]){newStatisticFrame();}}

解决方案

解决方案二:
那位帮我看看,我想把输出的单词按字典序排列,由于刚接触Java,对有些知识还是不了解,谢谢了
解决方案三:
classWordStatistic有问题

时间: 2024-09-20 13:35:17

怎么把输出的单词存放到一个数组里的相关文章

java-JAVA实现:一个数组里有1000个数,依次输出最大的10个数

问题描述 JAVA实现:一个数组里有1000个数,依次输出最大的10个数 刚接触JAVA,求各位前辈解答............... 解决方案 Random random = new Random(); List<Integer> item = new ArrayList<Integer>(); for (int i = 0; i < 1000; i++) { //System.out.println(Math.abs(random.nextInt()) % 1000);

进制转换-java怎么把一个数组里面的16进制值转换成8进制,我想先把16进制转成2进制再转8进制

问题描述 java怎么把一个数组里面的16进制值转换成8进制,我想先把16进制转成2进制再转8进制 java怎么把一个数组里面的16进制值转换成8进制,我想先把16进制转成2进制再转8进制,但是老是运行出错.大神们能不能给个小例子解释一下,谢谢 解决方案 http://blog.csdn.net/vanezuo/article/details/6556768 解决方案二: 使用函数啊,你找一下,Java有相应的函数能做到 解决方案三: 如果你的程序出错,你贴出你的程序才知道. 也可以参考我给你的

一个ArrayList里是否可以添加不同的类,一个数组里是否可以添加不同类

问题描述 一个ArrayList里是否可以添加不同的类,一个数组里是否可以添加不同类 解决方案 package com.zyn.iteye;import java.util.ArrayList;import java.util.List;public class ArrayListTest {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubList<Obje

c# 关于 Microsoft.Office.Interop.Excel.Worksheet 如何把内容取到一个数组里,在线等

问题描述 c#关于Microsoft.Office.Interop.Excel.Worksheet如何把内容取到一个数组里,在线等现在要做一个excel校验问题,因为牵扯到版本,用2007生成的excel用Olecommand打不开,所以考虑还是用excel自带com控件打开excel,将其值导入到数组里,进行校验,但是无法获得excel的行和列,感觉它的行和列,都是固定的数值,好像是几万吧.谁知道他有没有自带属性或者方法可以获得???谢谢在线等 解决方案 解决方案二:沒做過這樣的.

怎么算一个数组里含不含某个元素呀?

问题描述 比如:string[]str1=newstring[]{"100","200"};stringstr2="100";怎么知道str1里边有没有str2元素,1.0的SDK谢谢 解决方案 解决方案二:foreach(stringsinstr1){if(s==str2){messagebox.show("Y");break;}}解决方案三:foreachstr3asstringinstr1Ifstr3=str2thenf

[WinForm]在一个界面把值用一个数组保存然后存到一个实体类中.

问题描述 界面有多个TxtBox值... 解决方案 解决方案二:怎么实现?高手来挖解决方案三:this.m_texts=newstring[textBoxes.Length];for(inti=0;i<textBoxes.Length;i++){m_texts[i]=textBoxes[i].Text;} 解决方案四:List<string>list=newList<string>();foreach(Controlcinthis.Controls){if(c.GetType

printf-c语言中一个数组输出的问题

问题描述 c语言中一个数组输出的问题 #include int main() { int i; int temp[5]; for(i=1;i<=5;i++) { temp[i]=i; } printf("---------"); for(i=1;i<=5;i++) { printf("%d",temp[i]); } return 0; } 为什么能正常的给第5个元素赋值,并能输出第5个元素 解决方案 你越界了,数组下标从0开始,应该是 i=0:i<

oci 输出参数-OCI 怎么提取整型输出参数,这个参数是存储过程里返回的一个值,跟表里的字段没啥关系

问题描述 OCI 怎么提取整型输出参数,这个参数是存储过程里返回的一个值,跟表里的字段没啥关系 OCIStmtFetch()该怎么写呢,还是其他的方法. 这个输出参数是一个结果描述而已,如密码,用户名正确,返回1,错误返回0,跟表的字段没关系

c-定义一个数组存放数据和定义一个指针存放东西有什么区别

问题描述 定义一个数组存放数据和定义一个指针存放东西有什么区别 定义一个数组存放数据和定义一个指针存放东西有什么区别,u8 a[]="adflkadjflkdjf"和u8 *b="adakkjfakdhflkd"这两种格式是一样的吧,但是当需要定义一个存储空间是可以用数组,U8 c[20],但是没办法用指针实现吧 解决方案 后者"adakkjfakdhflkd"在常量区,不能修改. 解决方案二: 如何动态定义一个 对象指针数组 解决方案三: 你可