`
nakupanda
  • 浏览: 416718 次
  • 性别: 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. 货币时间价值的计算:出现的数字和运算符号...

    词频分析器

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

    在免疫组织化学分析中,染色细胞的百分比是比染色强度更可靠的参数:大肠癌进展和肝转移中9种分子标记的表达

    paxillin(PAX),局灶性粘附激酶(FAK),G蛋白偶联受体56(GPR56),ORAI3和结肠癌微卫星不稳定性(MSI)的著名标记:MSH2,MSH6,MLH1和PMS2,涉及在原发性肿瘤和肝转移中结肠癌细胞的染色细胞百分比和强度评分。...

    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(斜体)...

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

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

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

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

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

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

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

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

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

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

Global site tag (gtag.js) - Google Analytics