单词 统计续

第1步:输出单个文件中的前 N 个最常出现的英语单词。

功能1:输出文件中所有不重复的单词,按照出现次数由多到少排列,出现次数同样多的,以字典序排列。

功能2: 指定文件目录,对目录下每一个文件执行统计的操作。 

功能3:指定文件目录,是会递归遍历目录下的所有子目录的文件进行统计单词的功能。 

第2步:支持 stop words

在一本小说里, 频率出现最高的单词一般都是 "a",  "it", "the", "and", "this", 这些词,

可以做一个 stop word 文件 (停词表), 在统计词汇的时候,跳过这些词。  

我们把这个文件叫 "stopwords.txt" file. 

public static void zimu(String []p) {
        int []piao=new int[27];
        for(int i=0;i<p.length;i++) {
            piao[0]++;
            if(p[i].equals("a"))  piao[1]=piao[1]+1;
            if(p[i].equals("b"))  piao[2]=piao[2]+1;
            if(p[i].equals("c"))  piao[3]=piao[3]+1;
            if(p[i].equals("d"))  piao[4]=piao[4]+1;
            if(p[i].equals("e"))  piao[5]=piao[5]+1;
            if(p[i].equals("f"))  piao[6]=piao[6]+1;
            if(p[i].equals("g"))  piao[7]=piao[7]+1;
            if(p[i].equals("h"))  piao[8]=piao[8]+1;
            if(p[i].equals("i"))  piao[9]=piao[9]+1;
            if(p[i].equals("j"))  piao[10]=piao[10]+1;
            if(p[i].equals("k"))  piao[11]=piao[11]+1;
            if(p[i].equals("l"))  piao[12]=piao[12]+1;
            if(p[i].equals("m"))  piao[13]=piao[13]+1;
            if(p[i].equals("n"))  piao[14]=piao[14]+1;
            if(p[i].equals("o"))  piao[15]=piao[15]+1;
            if(p[i].equals("p"))  piao[16]=piao[16]+1;
            if(p[i].equals("q"))  piao[17]=piao[17]+1;
            if(p[i].equals("r"))  piao[18]=piao[18]+1;
            if(p[i].equals("s"))  piao[19]=piao[19]+1;
            if(p[i].equals("t"))  piao[20]=piao[20]+1;
            if(p[i].equals("u"))  piao[21]=piao[21]+1;
            if(p[i].equals("v"))  piao[22]=piao[22]+1;
            if(p[i].equals("w"))  piao[23]=piao[23]+1;
            if(p[i].equals("x"))  piao[24]=piao[24]+1;
            if(p[i].equals("y"))  piao[25]=piao[25]+1;
            if(p[i].equals("z"))  piao[26]=piao[26]+1;
        }
        System.out.print("总字母:");
        for(int y=0,z=97;y<piao.length;y++,z++) {
            
            System.out.println(piao[y]);
            if(z>122) break;
            System.out.println((char)z+":");
        }
    }
    public static void danci1(String []p) {
        String []danci=new String[(p.length/3)];
        int []px=new int[(p.length/3)];
        int i,j;
        System.out.println();
        for(i=0,j=0;i<p.length;i++) {
            //if() {
                danci[j]=danci[j]+p[i];                
            //}else {
                j++;
            }
        }
        /*for(i=0;i<danci.length;i++) {
            System.out.println(danci[i]);
        }*/
        
    //}
    public static void main(String[] args) {
        String pi="";
        try{
            FileReader reader = new FileReader("E:\\java\\piao\\src\\xi.txt");
            BufferedReader br = new BufferedReader(reader);
            String line;
            
            //网友推荐更加简洁的写法
            while ((line = br.readLine()) != null) {
                pi=pi+line;
            }
        }catch(IOException e) {
            
        }
        
        pi=pi.toLowerCase();
        char []pc=pi.toCharArray();

        String []p=new String[pc.length];
        for(int x=0;x<p.length;x++) {
            p[x]=String.valueOf(pc[x]);
        }
        int pd=0;
        Scanner sc=new Scanner(System.in);
        System.out.println("0.查询字母");
        System.out.println("1.查询单词");
        System.out.println("2.查询单词");
        System.out.println("输入:");
        if (sc.hasNextInt()) {
           pd = sc.nextInt();
           switch(pd) {
           case 0:    zimu(p);break;
           case 1:danci1(p);break;
           case 2:
           }
       
        }
        
        
    }

 

 

 

转载于:https://www.cnblogs.com/lianghang/p/11066970.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值