?? ffwords.java
字號:
import java.io.*;
public class ffwords{
public static void main(String args[])throws IOException{
BufferedReader in = new BufferedReader(new InputStreamReader (System.in)) ;
FileReader fin = new FileReader("dat.txt");
int c,i=0,j=0,k,l=0;
String buf[]=new String[100];
char pre,arr[]=new char[100];
/********讀入字符組成單詞存入數組buf**********/
while((c=fin.read())!=-1){
char ch=(char)c;
pre=ch;
if(ch<='z'&&ch>='a'||ch<='Z'&&ch>='A'){
arr[l++]=ch;
}
else{
if(l!=0){
buf[i]=new String(arr,0,l);
i++;
}
l=0;
}
}
System.out.println("the total number of words: "+i);
/********計算每個單詞出現次數**********/
System.out.println("出現次數:");
int x=0,num[]=new int[100],n[]=new int[100];
String buffer[]=new String[100];
for(j=0;j<i;j++){
int s=0;
while(s<j){
if(buf[j].equals(buf[s]))
break;
s++;
}
if(s>=j){
num[j]=0;
for(k=j;k<i;k++){
if(buf[j].equals(buf[k])){
num[j]++;
}
}
buffer[x]=buf[j];
n[x]=num[j];
x++;
System.out.println("\""+buf[j]+"\" is "+num[j]);
}
}
/*********冒泡排序*******/
String temp;
boolean flag;
int t;
for(j=0;j<x-1;j++){
flag=false;
for(k=0;k<x-j-1;k++){
if(buffer[k].compareToIgnoreCase(buffer[k+1])>0){
flag=true;
temp=buffer[k+1];
buffer[k+1]=buffer[k];
buffer[k]=temp;
t=n[k];
n[k]=n[k+1];
n[k+1]=t;
}
}
if(!flag) break;
}
/********輸出每個單詞出現頻率*************/
System.out.println("出現頻率:");
for(j=0;j<x;j++){
System.out.println("\""+buffer[j]+"\" "+(float)n[j]/i);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -