`
林海之歌
  • 浏览: 2912 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类

如何用数组算出字符串中有多少种字母以及每个字母的个数

    博客分类:
  • Java
阅读更多
如题:

给定一个字符串,只包含字母,可能出现大小写。写一个函数,计算出字符串中有多少种字母,以及每个字母的个数。忽略大小写,按字母顺序输出结果。

注意:要求使用数组。

请各位大虾有空的话,帮忙解答一下!

谢谢诶!
1
3
分享到:
评论
3 楼 hadesmile 2010-08-06  
不好意思,排序方法叫选择排序
2 楼 hadesmile 2010-08-06  
public class AlphabetCount {
	// 给定字符串
	public String str = "howareyouimfinethankyouandyouimfinetoo";

	public static void main(String[] args) {
		new AlphabetCount().go();
	}

	private void go() {
		// 忽略大小写
		str = str.toLowerCase();
		char[] strChar = str.toCharArray();

		// 冒泡排序
		for (int j = 0; j < strChar.length; j++) {
			int point = -1;

			// 找到最小的字母
			for (int i = j; i < strChar.length; i++) {
				if (point == -1) {
					point = i;
					continue;
				}

				if (strChar[point] > strChar[i]) {
					point = i;
				}
			}

			// 将最小的字母放到最前面
			char cache = strChar[point];
			strChar[point] = strChar[j];
			strChar[j] = cache;
		}

		// 统计字母个数并输出结果
		char hold = strChar[0];
		int count = 1;
		for (int i = 1; i < strChar.length; i++) {
			if (hold == strChar[i]) {
				count++;
			} else {
				System.out.println(hold + ":" + count);
				hold = strChar[i];
				count = 1;
			}
		}
	}
}

1 楼 ilzc 2010-08-06  
例子:
数组index  字母     次数(数组内容)
0           A        1
1           B        0
2           C        0
3           D        0
4           E        0
5           F        2
.........................

建一个52大小的数组,分别对应字母A-Z a-z,数组内容为出现次数
遍历一次字符串,统计每个字符字母的次数,就是在数组中增加对应字母出现的次数即可

相关推荐

    C++统计中英文大小写字母、数字、空格及其他字符个数的方法

    在C++编程中,有时我们需要统计一段文本中各种字符类型的数量,例如中英文大小写字母、数字、空格以及其他的特殊字符。这个问题可以通过遍历字符串并进行条件判断来解决。以下是一个具体的实现方法: 首先,定义一...

    上海电机学院C语言实训答案

    (10)编写一个程序实现如下功能:调用名为tj的函数,求一个二维数组中正数、负数的代数和,以及零的个数。 (11)编写一个程序实现如下功能:调用一个名为gm的函数,该函数实现简单的加密。加密方法如下:先定义...

    javascript入门笔记

    1、由字母,数字,下划线以及 $ 组成 var user_name; 正确 var user-name; 错误 var $uname; 正确 2、不能以数字开头 var 1name;错误 3、不能使用JS中的关键字 和 保留关键字 4、变量名不能重复 5、可以...

    Pascal程序设计基础训练题

    8. 输入一个大写字母字符串,找出未在此串中出现的所有大写字母。 知识点:字符串处理、循环、条件语句 9. 输入20个学生的5门课成绩及姓名、学号,算出总分并且进行排序,最后从高到低输出这些数据。 知识点:...

    正则表达式

    这些复杂的模式使用的正则表达式语法指定了该表达式中每个元素要重复出现的次数. 指定复制的字符总是出现在它们所作用的模式后面.由于某种复制类型相当常用.所以有一些特殊的字符专门用于表示它们.例如: +号匹配的...

    C语言简答题(疑似题库)1.doc

    * 编写一个程序实现“查表”功能,用随机函数自动生成 20 个 100 到 300 之间的任意三位数存放在一个一维数组 a 中,该程序对输入的任意一个三位数,查找数组 a 中是否有与这个数相等的数。 * 用冒泡法排序对一个...

    C语言经典例题100道

    此题涉及一个经典的递归问题,即猴子每天吃掉一半的桃子并再多吃一个桃子,问第一天有多少个桃子。 ### 乒乓球比赛抽签问题 本题要求我们设计一个抽签算法,以公平地分配比赛的对手。 ### 打印菱形图案 此题需要...

    Leetcode部分试题解析

    这通常通过计算每个字符串的字符频率并比较它们是否相同来解决,可以使用Python的字典数据结构。 2. **Delete Node in a Linked List**:在链表中删除给定节点。了解链表的基本操作,如遍历和修改指针,是解决此...

    算机二级C++精选复习题.doc

    通过遍历字符串,比较每个字符是否在大写字母的ASCII范围内来统计。注意,检查`str`是否为空是防止空指针异常的重要步骤。 2. **递归函数**: - `float sum(int n)` 实现了一个递归函数,计算斐波那契数列。基础...

    C语言程序设计100个经典例子.pdf

    98.字符串转换成大写字母并输出保存:该例子展示了如何使用C语言字符串转换成大写字母并输出保存。 99.文件操作应用1:该例子展示了如何使用C语言文件操作应用1。 100.文件操作应用2:该例子展示了如何使用C语言...

    excel高手详解excel高手excel高手excel高手

    #### 用COUNTIF算出数值大小在50~60之间的单元格个数 使用COUNTIF函数统计数值范围,可以使用以下公式: ```excel =COUNTIF(range, "&gt;=50") - COUNTIF(range, "&gt;60") ``` 这里`range`是你要统计的单元格区域。 #...

    100个经典例题(C语言).doc

    - **描述**:根据经典的兔子繁殖问题,使用循环或递归算法来计算每个月的兔子总数。 #### 【程序12】判断1010到200之间的素数 - **知识点**: - 素数判定 - 循环结构 - 条件判断 - **描述**:遍历指定范围内的...

    Excel问题集合

    #### 三、用COUNTIF算出数值大小在50~60之间的单元格个数 假设数值位于A1:A100范围内,可以使用以下公式来计算: ```excel =COUNTIF(A1:A100, "&gt;=50") - COUNTIF(A1:A100, "&gt;60") ``` #### 四、几个工作表生成一个...

    浙江师范大学《数据结构与算法分析》2006期末试卷

    - **知识点解析**:线性表是一种基本的数据结构,其中的数据元素按照一定的顺序排列,每个元素除了最后一个元素外都有唯一的直接后继,除了第一个元素外都有唯一的直接前驱。因此,选项A是最准确的描述。 3. **栈...

    语言程序设计课后习题答案

    在C++中,有两种给出注释的方法:一种是延用C语言方法,使用"/*"和"*/"括起注释文字。另一种方法是使用"//",从"//"开始,直到它所在行的行尾,所有字符都被作为注释处理。 2-8 什么叫做表达式?x = 5 + 7是一个...

    Excel常见问题集合

    #### 用COUNTIF算出数值大小在50~60之间的单元格个数 - **公式示例**:`=COUNTIF(A1:A100, "&gt;=50") - COUNTIF(A1:A100, "&gt;60")` #### 几个工作表生成一个打印文件一次打印 - **解决方案**:利用Excel的合并功能...

    达内 coreJava 习题答案

    //定义最后的一项有多少个数字 Scanner scanner = new Scanner(System.in); System.out.println("请输入一个 1~9 的 a 值"); a = scanner.nextInt(); System.out.println("请问要相加多少项?"); howMany = ...

Global site tag (gtag.js) - Google Analytics