java静态方法statistc_大佬们,帮帮忙吧,一运行就出现pattern.java

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

以下为代码:

import java.io.*;

import java.util.*;

public class WordStatistic {

VectorallWord,noSameWord;

File file = new File("english.txt");

Scanner sc =null;

String regex;

WordStatistic(){

allWord=new Vector();

noSameWord =new Vector();

regex="[\\s\\d\\p(Punct)]+";

try{sc=new Scanner(file);

sc.useDelimiter(regex);

}

catch(IOException exp) {

System.out.println(exp.toString());

}

}

public void setFileName(String name) {

file = new File(name);

try{ sc = new Scanner(file);

sc.useDelimiter(regex);

}

catch(IOException exp){

System.out.println(exp.toString());

}

}

public void wordstatistic(){

try{ while(sc.hasNext()){

String word=sc.next();

allWord.add(word);

if(!noSameWord.contains(word))

noSameWord.add(word);

}

}

catch(Exception e) {}

}

public Vector getAllWord(){

return allWord;

}

public VectorgetNoSameword(){

return noSameWord;

}

}

----------------------

import java.util.*;

public class OutputWordMess {

public static void main (String args[]) {

Vector allWord,noSameWord;

WordStatistic statistic=new WordStatistic();

statistic.setFileName("hello.txt");

statistic.wordstatistic();//statistic调用wordStatistic()方法

allWord=statistic.getAllWord();

noSameWord=statistic.getNoSameword();

System.out.println("共有"+allWord.size()+"个英文单词");

System.out.println("有"+noSameWord.size()+"个互不相同英文单词");

System.out.println("按出现频率排列:");

int count[]=new int[noSameWord.size()];

for(int i=0;i

String s1 =noSameWord.elementAt(i);

for(int j=0;j

String s2=allWord.elementAt(j);

if(s1.equals(s2))

count[i]++;

}

}

for(int m=0;m

for(int n=m+1;n

if(count[n]>count[m]){

String temp=noSameWord.elementAt(m);

noSameWord.setElementAt(noSameWord.elementAt(n),m);

noSameWord.setElementAt(temp,n);

int t=count[m];

count[m]=count[n];

count[n]=t;

}

}

}

for(int m=0;m

double frequency=(1.0*count[m])/allWord.size();

System.out.printf("8s:8-7.3f",noSameWord.elementAt(m),frequency);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值