统计字符串中每个字符的出现字数

news/2024/11/29 13:40:33/
package cn.itcast_03;import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;/** 统计字符串中每个字符的出现字数* * 分析:*     A:定义一个字符串(可以改进为键盘录入)*     B:定义一个TreeMap集合*            键:Character (已经重写comparator方法)*            值:Integer*     C:把字符串转换为数组*     D:遍历字符数组,得到每一个字符*     E:拿刚才得到的字符作为键到集合中去找值,看返回值*               是null:说明键不存在,就把字符作为键,1作为值存储*               不是null:说明改建存在,就把值加1,然后重新存储该键和值*     F:定义字符串缓冲区变量*     G;遍历集合,得到键和值,按照要求拼接*     H:把字符串缓冲区转换为字符串输出*     */
public class 统计字符串中每个字符的出现字数 {public static void main(String[] args) {// 定义一个字符串(可以改进为键盘录入)Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串");String line = sc.nextLine();//定义一个TreeMap集合TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();//把字符串转换为数组char[] chs = line.toCharArray(); //遍历字符数组,得到每一个字符for(char ch:chs) {//拿刚才得到的字符作为键到集合中去找值,看返回值Integer i = tm.get(ch);if(i == null) {//是null:说明键不存在,就把字符作为键,1作为值存储tm.put(ch, 1);}else {//不是null:说明改建存在,就把值加1,然后重新存储该键和值i++;tm.put(ch, i);}}//定义字符串缓冲区变量StringBuilder sb = new StringBuilder();//遍历集合,得到键和值,按照要求拼接Set<Character> set = tm.keySet();  for(Character key:set) {Integer value = tm.get(key);sb.append(key).append("(").append(value).append(")");}//把字符串缓冲区转换为字符串输出String s = sb.toString();System.out.println(s);}
}

http://www.ppmy.cn/news/487251.html

相关文章

Eclipse设置每行的最大字符数

Eclipse默认宽度是 120 个字符。如下图所示&#xff08;提示&#xff1a;格式化快捷键Ctrl Shift F&#xff09;&#xff1a; 设置步骤如下&#xff1a; 菜单栏倒数第二项&#xff0c;选择Window下拉栏最后一项&#xff0c;选择Preferences左侧导航栏第八项&#xff0c;选择…

golang统计字符串字数

golang 可以使用正则和 unicode 包的方法判断。 以下函数 GetStrLength 返回输入的字符串的字数&#xff0c;每个汉字和中文标点算 1 个字数&#xff0c;英文和其他字符算半个字数&#xff0c;不足 1 个字算 1 个。 // GetStrLength 返回输入的字符串的字数&#xff0c;汉字和…

字节数与字符数mysql_数据库字段长短之字节与字符

以下部分摘抄于网络&#xff0c;请知悉 1、字符&#xff1a;常见的1、2、A、a、&#xffe5;、*、&#xff1f;、国、#等符号都叫做字符&#xff1b; 2、字节&#xff1a;存储容量的单位Byte(B)&#xff0c;一个字节是8个bit(b)。 根据字符集、编码方式的不同&#xff0c;不同的…

python按位数分割字符串_按位置拆分字符串

我们知道anchors、word boundaries和{}在某个位置匹配,而不是匹配字符。 是否可以使用regex(特别是python)通过前面的一种方法拆分字符串?在 例如,考虑以下字符串:"ThisisAtestForchEck,Match IngwithPosition." 因此,我需要以下结果(以大写字母开头但不以空格开…

限制input输入框的输入字符个数,区别中英文字符

input输入框自带maxlength&#xff0c;但是无论是中文还是英文字符都算1。我们项目中要求的是中文字符算2个长度&#xff0c;英文字符算1一个长度。且我的是vue项目&#xff0c;需要实现双向数据绑定。经过一番研究得出下面的方法实现&#xff0c;暂时看来应该没问题。在此记录…

PHP 字符串限制字数和获取字符串字数

一、截取限制字数&#xff1a;mb_substr() mb_substr( $str, $start, $length, $encoding ) $str&#xff0c;需要截断的字符串 $start&#xff0c;截断开始处&#xff0c;起始处为0 $length&#xff0c;要截取的字数 $encoding&#xff0c;网页编码&#xff0c;如utf-8,G…

TextView限制行数,每行限制字符数

android:lines"2" 表示限制2行&#xff1b; android:maxLength"8" 表示限制8个字符&#xff1b; android:ellipsize"end" 表示显示不全时使用省略号结尾&#xff1b; android:singleLine"true" 表示限制单行显示&#xff1b; …

html已输入字数,通过jQuery设置textarea标签字数限制并实时计算已输入的字符数

在用HTML制作网页时,遇到 textarea 文本框标签时有时需要对文字内容长度设置固定输入字符数。本文主要介绍通过使用 jQuery 动态控制 textarea 文本框标签的内容和长度,对其输入的文字字符数及汉字数限制提示代码,并且,动态实时计算显示已经输入多少字符数的解决方法。 jQu…