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;
}
}
}
}

  

最新文章

  1. adb工具获取appPackage和appActivity
  2. HNOI2016(BZOJ4542) 大数
  3. tornado 学习笔记3 安装
  4. 推送XML
  5. Docker Centos安装Openssh
  6. 【转】Vim 常用命令总结
  7. 基于u盘安装centos6.0
  8. drupal 7 模块开发,hook_form
  9. Java重写方法与初始化的隐患(转)
  10. PM俱乐部之旅7-弱活着
  11. 2014鞍山直播比赛H称号HDU5077(DFS修剪+通过计)
  12. frida的用法--Hook Java代码篇
  13. .NET(C#)能开发出什么样的APP?盘点那些通过Smobiler开发的移动应用
  14. DUILIB消息处理过程
  15. python入门day02数据类型
  16. python列表与元组的用法
  17. opencontrail-vrouter命令
  18. Python实现正则表达式匹配任意的邮箱
  19. java 浅谈web系统当中的cookie和session会话机制
  20. 敌兵布阵 HDU1166

热门文章

  1. Codeforces Round #603 (Div. 2) C.Everyone is A Winner!
  2. CQYZOJ P1392 拔河问题
  3. 微信公众号h5页面alert去掉域名
  4. layer iframe 设置关闭按钮 和刷新
  5. C++-有感
  6. java多线程技术
  7. ISCC2018_leftleftrightright-Writeup
  8. MySQL 触发器trigger
  9. 如何查看当前工程,已经安装的nuget包?
  10. TFTP服务[精简版]:简单文件传输协议