중화사전망 - 서예자전 - Java 사전 확인
Java 사전 확인
Java.awt. *;
Java.awt.event. *;
Java.util.vector 가져오기
Java.io.file 을 가져옵니다
Java.util.vector 가져오기
계급 언어 통계
{Vector allWorsd, noSameWord
문자 통계
{allworsd = newvector ();
Nosameword = newvector ();
}
공용 void 단어 통계 (문서 파일)
{try {random access file in one = new random access file (파일, "rw"); //파일 file 의 inOne 을 가리키는 객체를 만듭니다.
Random access file intwo = new random access file (파일, "rw"); //파일 file inTwo 를 가리키는 개체를 만듭니다.
Long wordStarPostion = 0, wordendsposition = 0;;
Longlength = inone.length ();
Intflag =1;
Int c =-1;
For(int k = 0;; K<= 길이; K++)
{c = inone.read (); // inOne 은 read () 메서드를 호출합니다.
Boolean boo =(c<;; =' z' amp; & ampc & gt =' a') | | (c < =' z' amp; & ampc & gt =' a');
만약 (쉿)
{if(flag = = 1)
{wordstar position = inone.getfilepointer ()-1;
Flag = 0;;
}
}
기타
{if(flag = = 0)
{
If(c = =- 1)
Wordendposition = inone.getfilepointer ();
기타
Wordendposition = inone.getfilepointer ()-1;
Intwo.seek (wordstarposition); // inTwo 는 seek 메서드를 호출하여 읽기 및 쓰기 위치를 wordStarPostion 으로 이동합니다.
Byte cc [] = new byte [(int) wordendposition-(int) wordstar position];
Int wo. read fully (cc); // inTwo 는 read fully(byte a) 메서드를 호출하고 cc 를 a 에 전달합니다.
String word = 새 문자열 (cc);
Allworsd.add (word);
만약 (! (no same word. contains(word)))
No same word.add (word);
}
Flag =1;
}
}
Inone.close ();
Intwo.close ();
}
Catch (예외 e){}
}
공통 벡터 getAllWorsd ()
{return allWorsd
}
공통 벡터 getNoSameWord ()
{return noSameWord
}
}
StatisticFrame 클래스 확장 프레임워크는 ActionListener 를 구현합니다
언어 통계
TextArea showMessage
버튼을 눌러 파일을 엽니다.
파일 dialog 파일 dialog 열기
벡터 allWord, noSameWord
공공 통계 프레임 워크 ()
{statistic = new word statistic ();
Showmessage = newtextarea ();
OpenFile = 새로 만들기 버튼 ("파일 열기");
Openfile.addactionlistener (this);
추가 (openfile, BorderLayout). 북쪽);
Add(show message, BorderLayout). 중심);
Openfile dialog = new filedialog (this, 파일 열기 대화상자, filedialog). 하중);
Allword = newvector ();
Nosameword = newvector ();
Setsize (350,300);
Setvisible (true);
AddWindowListener (새 WindowAdapter ()
{공용 유효하지 않은 창 닫기 (WindowEvent e)
{system.exit (0);
}
});
Validate ();
}
공용 void 작업 수행 (트랜잭션 e)
{nosameword.clear ();
Allword.clear ();
Showmessage.settext (null);
Openfiledialog.setvisible (true);
Stringfilename = openfiledialog.getfile ();
만약 (파일 이름! =null)
{statistic.wordStatistic (새 파일 (파일 이름));
Allword = statistic.getallworsd ();
Nosameword = statistic.getnosameword ();
Showmessage.append ("\ n"+filename+"contains"+allword.size ()+"영어 단어");
메시지를 표시합니다. Append ("+nosameword.size ()+"다른 영어 단어 ");
메시지를 표시합니다. 추가 ("사용 빈도 순서로: \ n");
Intcount [] = new int [no sameword.size ()];
For(int I = 0;; 나 & ltno sameword.size (); I++)
{string s1= (string) no sameword.element at (I);
For(int j = 0;; J & ltallword.size (); J++)
{strings2 = (string) all word.element at (j);
If(s 1. equals(S2))
Count [I]++;
}
}
For(int m = 0;; M & ltnosameword.size (); M++)
{for (int n = m+1; N & ltnosameword.size (); N++)
{if (count [n] > 수 [m])
{stringtemp = (string) no sameword.element at (m);
No same word.setelementat ((string) no same word.element at (n), m);
No same word. setelementat(temp, n);
Int t = count [m];
수 [m] = 수 [n];
Count [n] = t;
}
}
}
For(int m = 0;; M & ltnosameword.size (); M++)
{showmessage.append ("\ n"+(string) no sameword.element at (m)+
":"+count [m]+"/"+allword.size ()+
"="+(1.0 * count [m])/all word.size ();
}
}
}
}
공용 클래스 sy6_2
{공용 정적 void main (문자열 매개 변수 [])
{new statisticframe ();
}
}