zoukankan      html  css  js  c++  java
  • 单词统计

    用户需求:

    英语的26 个字母的频率在一本小说中是如何分布的?

    某类型文章中常出现的单词是什么?

    《哈利波特》 中最常用的短语是什么,等等。

    我们要用程序来解决这个问题,毕竟我们是软工人。

     

     

    public class test{

    /*
    * 读取指定路径下的文件名和目录名
    */
    public void getFileList() throws IOException {
    System.out.println("请输入路径");
    Scanner scan=new Scanner(System.in);
    String a=scan.next();
    File file = new File(a);

    File[] fileList = file.listFiles();

    for (int i1 = 0; i1 < fileList.length; i1++) {
    if (fileList[i1].isFile()) {
    String fileName = fileList[i1].getName();
    if(fileName.indexOf(".txt")!=-1)
    {
    Word word=new Word(); //单词的链头
    Word lian,xin;
    String str="";
    String S=a+"\"+fileName;
    System.out.println(S);
    FileReader f=new FileReader(S); 
    char[] c=new char[1]; 
    int b=0;
    boolean exist=false; 
    while((b=f.read(c))!=-1)
    {
    if(String.valueOf(c).equals(" ")||String.valueOf(c).equals(" ")||String.valueOf(c).equals(" ")||String.valueOf(c).equals(",")||String.valueOf(c).equals(".")||String.valueOf(c).equals(""")||String.valueOf(c).equals("'"))
    {
    lian=word;
    while(lian!=null)
    {
    if(lian.value.equalsIgnoreCase(str)) 
    {
    lian.geshu++;exist=true;break;
    }
    else
    {
    lian=lian.next;
    }
    }
    if(exist==false) 
    {
    xin=new Word(str,1);
    xin.next=word.next;
    word.next=xin;
    str="";
    }
    else
    {
    exist=false;
    str="";
    }
    }
    else //单词
    {
    str+=String.valueOf(c);
    }
    }

    System.out.println("请输入您想查询的前几个出现此处最多的单词");
    int N=scan.nextInt();
    for(int i=1;i<=N;i++)
    {
    xin=new Word("",0);
    lian=word.next;

    while(lian!=null)
    {
    if(lian.geshu>xin.geshu)
    {
    xin=lian;
    }
    lian=lian.next;
    }

    System.out.println("第"+i+"个 :"+xin.value+"个数:"+xin.geshu);
    lian=word;

    while(lian.next!=null)
    {
    if(lian.next.value.equalsIgnoreCase(xin.value))
    {
    lian.next=lian.next.next;
    break;
    }
    lian=lian.next;
    }
    }
    }
    System.out.println("文件:" + fileName);
    }

    }
    }

    }

     

    是多疑还是去相信 谎言背后的忠心 或许是自己太执迷 命题游戏 沿着他的脚步 呼吸开始变得急促 就算看清了面目 设下埋伏 真相却居无定处 I swear I'll never be with the devil 用尽一生孤独 没有退路的路 你看不到我 眉眼焦灼却不明下落 命运的轮轴 伺机而动 来不及闪躲 沿着他的脚步 呼吸开始变得急促 就算看清了面目 设下埋伏 真相却居无定处 I swear I'll never be with the devil 用尽一生孤独 没有退路的路 你看不到我 眉眼焦灼却不明下落 命运的轮轴 伺机而动 来不及闪躲 你看不到我 眉眼焦灼却不明下落 命运的轮轴 伺机而动 来不及闪躲 黑夜和白昼 你争我夺 真相被蛊惑 心从不退缩 这天堂荒漠 留给孤独的猎手
  • 相关阅读:
    一周之内了解一个行业的方法
    du命令 实现Linux 某个文件夹下的文件按大小排序
    蝴蝶效应、青蛙现象、鳄鱼法则、鲇鱼效应.......
    MYSQ提高L查询效率的策略总结
    12个高矮不同的人,排成两排(catalan数)
    四人过桥、三盏灯 三个开关 的答案
    给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
    一个int 数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。
    二分检索(查找)的各种变种
    排序算法稳定性
  • 原文地址:https://www.cnblogs.com/muailiulan/p/11070714.html
Copyright © 2011-2022 走看看