`
nakupanda
  • 浏览: 416250 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

TextAnalyser ,分析文本中的字母出现次数、百分比等

    博客分类:
  • java
 
阅读更多
碰巧要做这个作业的同学低调地参考一下


public class TextAnalyser {

	private int total=0;
	private int[] charCount = new int[26]; //this array stores number of chars
	
	
	
	public TextAnalyser()
	{
		
	}
	
	public TextAnalyser(String initial)
	{
		
		this.analyse(initial);
	}
	
	public void analyse(String str)
	{
		//restore all chars to lower case
		str = str.toLowerCase(); 
		
		//index of current letter
		int index = 0;
		
		//letters number
		for(int i=0;i<str.length();i++)
		{
			char ch = str.charAt(i);
			if(Character.isLetter(ch))
			{
				total++;
			}
		}		
		
		//count the char number
		for(char charInitial = 'a';charInitial<=(char)('a'+25);charInitial++)
		{
			for(int i=0;i<str.length();i++)
			{
				char ch = str.charAt(i);
				if(charInitial==ch)
				{
					charCount[index]++;
				}
				
			}	
			index++;
		}
		
	}
	
	public int charsAnalysed()
	{
		return total;
	}
	
	public int frequency(char c)
	{
		c = Character.toLowerCase(c);
		return charCount[getCharIndex(c)];
	}
	
	
	public double percentage(char c)
	{
		c = Character.toLowerCase(c);
		
		double percentage = 0.0;
		
		if(total==0||frequency(c)==0)
			return 0.0;
		
		percentage = (double)frequency(c)/total*100;
		
		return percentage;
		
	}
	
	public char mostFrequent()
	{
		if(total==0)
			return '?';
		
		int maxCount=0;
		int index = 0;
		char mostFrequentChar = '?';
		for(char charInitial = 'a';charInitial<=(char)('a'+25);charInitial++)
		{
			if(charCount[index]>=maxCount)
			{
				maxCount=charCount[index];
				mostFrequentChar=charInitial;
			}
			index++;
		}
		
		return mostFrequentChar;
	}
	
	public void clear()
	{
		total = 0;
		charCount = new int[26];
	}
	
	
	
	
	
	//private helper methods
	
	//return the index of given char of charCount array
	private int getCharIndex(char ch)
	{
		return ch-'a';
	}
	
	
}

分享到:
评论

相关推荐

    java文件如何统计字母出现的次数和百分比

    本文主要介绍了如何使用Java语言统计文件中字母的出现次数和百分比。通过示例代码,文章详细介绍了如何读取文件、统计字母出现次数和计算百分比。 知识点一: Java文件读取 在Java中,读取文件可以使用File类和...

    TOP250豆瓣电影短评:Scrapy 爬虫+数据清理/分析+构建中文文本情感分析模型

    Scrapy 爬虫 + 数据清理 + 数据分析 + 构建情感分析模型 一、爬取豆瓣Top250的短评数据 movie_item movie_comment movie_people 二、数据清理与特征工程+统计分析 movie_item 总评分最高的前10部电影 最受欢迎的...

    词频统计系统

    要求能对一段英文统计出所给字母的出现次数百分比,并给出分布图或表。同时能对手动输入的进行词频统计。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些递归算法思想的应用。 (1)统计显示英文文档中所有...

    rostea文本感情分析工具

    **rostea文本情感分析工具** 是一款专用于分析文本情感的软件工具,它结合了自然语言处理(NLP)和机器学习技术,能够帮助用户快速理解和量化文本中的情绪色彩。该工具的核心功能在于对输入的文本进行深度解析,识别...

    易语言文本转换到数值

    通过掌握易语言的`EC_文本到数值`函数,我们可以更灵活地处理各种数据,实现诸如用户输入验证、数据分析等功能。在编程实践中,熟练运用类型转换是提高代码效率和准确性的关键。同时,理解不同类型之间的转换规则和...

    取文本中的数字

    在IT领域,提取文本中的数字是一项常见的任务,特别是在数据分析、自然语言处理(NLP)以及信息提取等场景中。这项任务通常涉及到字符串处理、正则表达式、编程语言的内置函数等多个技术点。以下是对这一主题的详细...

    java文本相似度对比

    在IT领域,文本相似度对比是一项重要的任务,它在搜索引擎优化、信息检索、垃圾邮件过滤、情感分析等众多场景中有着广泛的应用。本项目聚焦于使用Java编程语言结合HanLP分词器来实现这一功能。下面我们将深入探讨...

    易语言文本转换到数值源码

    总的来说,易语言文本转换到数值的操作是编程中常见且基础的功能,它涉及到数据类型的转换、异常处理和用户输入的验证等多个方面。理解和掌握这些知识对于使用易语言进行实际项目开发至关重要。

    财务会计学平时作业答案参考.pdf

    1. 财务报表分析:文本中出现了一些数字和百分比,比如“2/10N/30”、“25%”、“40%”等,这些可能表示的是财务报表中的比例分析,如应收账款的天数、存货周转率等。 2. 货币时间价值的计算:出现的数字和运算符号...

    词频分析器

    此词频分析器的主要功能是从指定的文本文件中读取内容,对文件中的所有单词进行统计,并输出每个单词及其出现次数和百分比。为了实现这一目标,程序中包含了一系列函数和数据结构来处理字符串、存储单词和计数等任务...

    Tropes VF 8.20词频分析软件.zip

    词频分析是文本挖掘和语言学研究中的一个重要环节,它能揭示文本中各个词汇的出现频率,从而帮助我们理解文章的主题、风格或者作者的习惯用词。"Tropes VF 8.20词频分析软件"是专为此目的设计的一款工具,它提供了...

    汽车行业财务分析.pdf

    1. 财务数据解读:文档中出现的数字可能代表汽车公司或其产品的销售数据、收入、支出、利润以及百分比变化。例如,“3,446.104,996.88-1,550.78-31%”可能表示某种财务指标(如收入)从3,446.10下降到1,550.78,下降...

    2021 年“泰迪杯”数据分析技能赛B 题+肥料登记数据分析数据集

    附件 2 中筛选出复混肥料的产品,将所有复混肥料按照总无机养分百分比的取值等距分为 10 组。 附件 3 中提取产品登记数量大于 10 的肥料企业,给出这些企业所用到的原料集合(发酵菌剂除外)。附件 4 技术指标中提取...

    Dreamweaver CS6中使用CSS美化文本.pdf

    在Dreamweaver CS6中,你可以选择像素(px)、百分比或其他长度单位作为单位,来调整文本的大小,以适应不同的屏幕尺寸和阅读需求。 "Font-style"属性用于改变文本的倾斜样式,包括normal(正常),italic(斜体)...

    带文本显示的ProgressBar,能修改文字和颜色

    例如,可能存在如ForeColor、BackColor、ProgressColor等属性,它们分别用于设置文本颜色、背景颜色和进度条颜色。为了支持颜色更改,控件需要在属性改变时重新绘制自身。 在C#中,自定义控件的创建通常涉及到继承...

    单词统计的程序设计方案报告.doc

    本方案旨在设计一个能统计英文单词出现频率的程序,通过分析输入的英文文本,找出出现频率最高的前五个单词。以下是详细的设计思路和实现过程。 一、问题描述 程序的主要任务是对用户输入的任意英文段落进行处理,...

    Python 产品贡献度分析(柱形图加百分比)Python源码

    Python 产品贡献度分析(柱形图加百分比)Python源码Python 产品贡献度分析(柱形图加百分比)Python源码Python 产品贡献度分析(柱形图加百分比)Python源码Python 产品贡献度分析(柱形图加百分比)Python源码...

    excel数字批量转换成文本.doc

    在 Excel 中,数字可以以不同的格式显示,如日期、时间、货币、百分比等。这些格式都是基于数字的,但是它们的显示形式不同。例如,日期格式可以将数字显示为年月日的形式,而货币格式可以将数字显示为货币单位。 ...

    MFC带百分比文字显示的进度条

    在这里,我们需要使用CPaintDC类获取设备上下文,并使用CFont、CRect等对象设置字体、颜色和位置,然后利用TextOut()函数将百分比文本绘制到进度条上。 3. **计算百分比**:根据当前的进度值与最大值计算出百分比,...

    电子功用-根据电子表格创建文本函数

    - TEXT函数用于将数字转换为文本,同时可以设定特定的数字格式,如货币、百分比等。 了解并熟练运用这些函数,能让你在处理电子表格时游刃有余。例如,你可以轻松地从长字符串中提取关键信息、格式化电话号码或...

Global site tag (gtag.js) - Google Analytics