`
林海之歌
  • 浏览: 2866 次
  • 性别: 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,数组内容为出现次数
遍历一次字符串,统计每个字符字母的次数,就是在数组中增加对应字母出现的次数即可

相关推荐

Global site tag (gtag.js) - Google Analytics