`

给你一个字符串,包含了空格等标点符号,要你计算出出现次数最多的字母和该字母出现的次数。

阅读更多

关于Map.Entry可以参看在容器中使用增强的for循环,简洁大气,结构清晰所以说是:英雄所见略同哈。

不足之处就是:当有两个或者多个最大的时候,会发生覆盖。

第一个例子:


package mapApp;

import java.util.HashMap;
import java.util.Map;

public class MaxTimesOfChar2 {
	/*
	 * 主要是对MaxTimesOfChar.java的瘦身,思路都是英雄所见略同
	 * 
	 * */
	public static void main(String[] args) {
		Map<Character, Long> charTimesMap = new HashMap<Character, Long>();

		String str = "hello wolrd wlllkdsfhksadfls?sdfsak  lsdfjsidf jsafdalsjfs sfskdfjs";
		str = str.replaceAll("[^a-zA-Z]", "");// 过滤掉非字母
		for (char each : str.toCharArray()){			
				Long freq = charTimesMap.get(each);
				charTimesMap.put(each, freq == null ? 1 : freq + 1);
			}

		char maxAppearChar = 0;
		Long maxAppearTimes = 0l;
		for (Map.Entry<Character, Long> charAppear : charTimesMap.entrySet()) {
			if (charAppear.getValue() > maxAppearTimes) {
				maxAppearChar = charAppear.getKey();
				maxAppearTimes = charAppear.getValue();
			}
		}
		System.out.println("出现最多的字母:" + maxAppearChar);
		System.out.println("出现次数:" + maxAppearTimes);

	}
}
输出结果:
出现最多的字母:s
出现次数:13



第二个例子:

package mapApp;

public class MaxTimesOfChar3 {
	public static void main(String[] args) {
		String s = "abbcccddddeeeeeeffffff(*&*&*(*&%%";
		s = s.replaceAll("[^a-zA-Z]", "");// 过滤掉非字母
		System.out.println(s);// 测试用
		int max = 0;// 保存最大次数
		int temp = 0;
		String maxString = "";// 保存最大次数的那个字符
		String tempString = "";
		while (s.length() > 0) {
			tempString = s.substring(0, 1);// 取得字符串的第一个字符
			System.out.println(tempString);// 测试用
			String subs = s.replace(tempString, "");
			temp = s.length() - subs.length();
			if (max <= temp) {
				max = temp;
				maxString = tempString;
			}
			s = subs;
			System.out.println(temp + "--" + s);// 测试用
		}
		System.out.println(maxString + " max= " + max);
	}
}
输出结果:
abbcccddddeeeeeeffffff
a
1--bbcccddddeeeeeeffffff
b
2--cccddddeeeeeeffffff
c
3--ddddeeeeeeffffff
d
4--eeeeeeffffff
e
6--ffffff
f
6--
f max= 6






.
分享到:
评论

相关推荐

    一个字符串包含了空个等标点符号,计算出现次数最多的字母和该字母出现次数 开发提示:可以使用Map,key是字母,value是该字母的次数

    一个字符串包含了空个等标点符号,计算出现次数最多的字母和该字母出现次数 开发提示:可以使用Map,key是字母,value是该字母的次数

    python统计字符串中中英文、空格、数字、标点个数

    该程序用于统计一个字符串中中英文、空格、数字和标点符号的个数。

    统计字符串中各字符个数

    (2)统计某一字符串在文章中出现的次数,并输出该次数; (3)删除某一子串,并将后面的字符前移。 (4)存储结构使用线性表,分别用几个子函数实现相应的功能; 输入数据的形式和范围: 可以输入大写、小写的英文...

    LabVIEW自动检测字符串的大小写字母、数字、空格和特殊字符

    LabVIEW自动检测字符串的大小写字母、数字、空格和特殊字符

    MATLAB字符串数组 基本规则 (1)所有字符串都用单引号(英文状态下输入)括起来; (2)将字符串当作一个行向量,每个元素对

    字符串数组 matlabMATLAB字符串数组 ... ' %包含数字,字母,标点符号,空格 ans = 1 26 %长为26 1 2 3 4 5 6 7 8 9 10 ch=['abcdef';'123456'] %建立多行字符串,形成字符串矩阵 ch(2,3) c

    字符串数组 matlab

    字符串数组 matlab ... ' %包含数字,字母,标点符号,空格 ans = 1 26 %长为26 ch=['abcdef';'123456'] %建立多行字符串,形成字符串矩阵 ch(2,3) ch = 2×6 char 数组 %建立的2行6列的字符串矩阵

    输入一页文字,程序可以统计出文字、数字、空格的个数。

    (2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。  存储结构使用线性表,分别用几个子函数实现相应的功能;  输入数据的形式和范围:可以输入大写、小写的英文...

    文本编辑与串查统计系统

    2)、统计某一字符串在文章中出现的次数,并输出该次数; 3)、删除某一子串,并将后面的字符前移。 要求用菜单选择操作,分别用几个子函数实现相应的功能; 输入数据的形式和范围:可以输入大写、小写的英文字母、...

    数据结构课程设计—文章编辑

    (2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。 存储结构使用线性表,分别用几个子函数实现相应的功能; 输入数据的形式和范围:可以输入大写、小写的英文字母、...

    文章编辑 判断一段文章的字数,空格数.....

    (2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一字符串,并将后面的字符前移;(4)插入一个字符串,并输出删除后的文章。 存储结构使用线性表,分别使用多个子函数实现相应功能。 输入数据的...

    pascal回文串

    回文串只有字母组成,找最长的回文串时可以剔除标点符号和空格(剔除标点符号和空格后的回文串长度不超过2000),字母不考虑大小写(如字母A与a相同)但输出回文串时要保留原来的标点符号和空格。 任 务 :求最大的...

    过滤敏感信息的C++作业代码.pdf

    实验目的:掌握指针的使用方法,正确使用指针处理字符串。 2. 实验内容:实现一个过滤无用词汇程序。规则如下: 1. 能接受的字符是:字母数字 标点符号, . " 还有无用的符号@#¥ 2. 对于敏感信息的词语是不分大小写...

    Python入门之字符串

    (2)字符:一个符号,比如一个英文字母、一个数字、一个标点符号、一个汉字、一个日本字、一个空格、一个回车、一个Tab键 2、怎么表示字符串 (1)比如 name、’name’ : 规定,用引号引起来的才是字符串 比如...

    文件操作与字符处理

    现要求读取该文本文件内容,统计文章中每个单词出现的次数,并输出出现次数最多的前5个单词及其出现次数(按出现次数由多到少的顺序输出,次数相同时按字典顺序输出,不足5个单词时,按序输出全部单词)。...

    文本编辑与串查找

    输入一页文字,程序可以统计出文字、数字、空格和其它标点...2)、统计某一字符串在文章中出现的次数,并输出该次数; 3)、删除某一子串,并将后面的字符前移。 要求用菜单选择操作,分别用几个子函数实现相应的功能;

    关于文本编辑的一段有用的代码

    (2)统计某一字符串在文章中出现的次数,并输出该次数; (3)删除某一子串,并将后面的字符前移。 存储结构使用线性表,分别用几个子函数实现相应的功能; 输入数据的形式和范围:可以输入大写、小写的英文字母、...

    数 据 结 构 与 算 法 课程设计

    (2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。 存储结构使用线性表,分别用几个子函数实现相应的功能; 输入数据的形式和范围:可以输入大写、小写的英文字母、...

Global site tag (gtag.js) - Google Analytics