ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java 倒入文章显示前n个单词频率

2019-11-04 21:00:07  阅读:251  来源: 互联网

标签:Java String value next 单词 倒入 lian Word


package com_1;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;

class Word                                        //定义出一个单词类
{
    String value;                                  //具体的单词
    int geshu;                                     //出现的个数
    Word next;                                     //将单词链起来
    public Word(String value,int geshu)            //带参构造函数
    {
        this.value=value;
        this.geshu=geshu;
        next=null;
    }
    public Word()                                   //空构造函数
    {
        this.value="";
        this.geshu=0;
        next=null;
    }
}                                        
public class Shuru {
    public static void main(String args[]) throws IOException      //主函数
    {   Scanner dc = new Scanner(System.in);
        Word word=new Word();                                      //单词的链头
        Word lian,xin;                                             
        String str="";
        FileReader f=new FileReader("F:\\eclipse-workspace\\com_1\\src\\1.txt");                //读取英文文件
        char[] c=new char[1];                                 //每次读取一个字母
        int b=0;
        boolean exist=false;                              //判断单词是否存在于  word 链中
        while((b=f.read(c))!=-1)                              //每次读取一个字母直到最后
        {
            //如果字符为  换行、空格、单引号、双引号、逗号、句号  则为一个单词的结束及另一个单词的开始
            if(String.valueOf(c).equals("\r")||String.valueOf(c).equals("\n")||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("请输入你查找的前n个值");
        int a;
        a=dc.nextInt();
        //   循环a次
        for(int i=1;i<=a;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;
            }
        }
    }
}

  

标签:Java,String,value,next,单词,倒入,lian,Word
来源: https://www.cnblogs.com/sunhongbin/p/11794847.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有