-
【Java】统计字符串中各字符数量
2017-08-23 21:54:23Java 1.从控制台输入一串字符串,统计每种字符出现的个数 2.从文件中读入一个字符串,统计各字符个数 利用map进行处理一、需求
从控制台输入一串字符串,统计每种字符出现的个数
二、分析
a) 从前向后一个字符一个字符的看;
b) 如果该字符没有出现过,则记录次数为1,否则在已经出现的次数上+1;
c) 记录的格式是:h:3,f:2;
d) 使用map建立映射;
三、代码:
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public classTest {
public static void main(String[] args) throws Exception {
//从控制台输入一个字符串
Scannersc= newScanner(System.in);
System.out.println("请输入一个字符串:");
Strings = sc.nextLine();
//创建一个Map 用于存储数据
Map<String,Integer>map = new HashMap<String,Integer>();
//将字符与出现次数联系
for(int i = 0; i < s.length(); i++){
StringperStr = s.substring(i, i+1);
if(map.containsKey(perStr)){
Integernum = map.get(perStr);
map.put(perStr, num + 1);
}else{
map.put(perStr, 1);
}
}
//用map输出的两种格式
Set<Map.Entry<String,Integer>> set= map.entrySet();
for(Map.Entry<String,Integer> entry: set){
System.out.println(entry.getKey()+ ":" + entry.getValue());
}
System.out.println("=======================");
Set<String>keys = map.keySet();
for(String key : keys){
System.out.println(key + "--->"+ map.get(key));
}
}
}
四、拓展:
从文件中读入一个字符串,统计各字符个数
将上述代码中
“
Scanner sc= newScanner(System.in);
System.out.println("请输入一个字符串:");
Strings = sc.nextLine(); ”
改为如下代码:
StringBuffer s= newStringBuffer();
BufferedReaderbr = newBufferedReader(newFileReader("d:/aa.txt"));
Stringss = null;
while(null != (ss = br.readLine())){
s.append(ss);
}
br.close();
并在d盘中新建一个名字为aa的txt文件,写入一串字符串
五、执行结果(字符串: i love you)
:2
e:1
u:1
v:1
i:1
y:1
l:1
o:2
=======================
--->2
e--->1
u--->1
v--->1
i--->1
y--->1
l--->1
o--->2
-
java_字符串中各类型字符出现的个数统计
2017-09-20 09:01:37有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。 /** * */ package 作业0919; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex....有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。
/** * */ package 作业0919; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class 统计字符 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String teString = scanner.next(); count(teString); } public static void count(String test) { int word = 0; int num = 0; int chinese = 0; String string = ""; String regex = "([\u4e00-\u9fa5]+)"; Matcher matcher = Pattern.compile(regex).matcher(test); while (matcher.find()) { string += matcher.group(); } for (int i = 0; i < test.length(); i++) { if (test.charAt(i) >= '0' && test.charAt(i) <= '9') { num++; } else if (test.charAt(i) >= 'a' && test.charAt(i) <= 'z' || test.charAt(i) >= 'A' && test.charAt(i) <= 'Z') { word++; } } System.out.println("中文:" + string.length() + "个, 英文:" + word + "个, " + "数字:" + num + "个"); } }
-
Java,统计字符串中各字符出现的次数
2016-11-07 18:45:28public class TimesNum { //求字符出现的次数 public static void main(String[] args) { String strs = "awojgnjadkfjdaiongjrewngklmvcsd";... //定义一个map,key是字符,value是数字 Map,Intepublic class TimesNum { //求字符出现的次数 public static void main(String[] args) { String strs = "awojgnjadkfjdaiongjrewngklmvcsd"; //定义一个map,key是字符,value是数字 Map<Character,Integer> map = new HashMap<Character,Integer>(); //把String转成字符数组 char[] b = strs.toCharArray(); //遍历数组 for(char c:b){ //把字母当key去map里面取值 Integer i = map.get(c); //如果i为null,则说明map里没有对应Key的值,那么把这次统计记为1 if(null==i){ map.put(c, 1); } //否则就把这次统计加1,然后再次put进map中 else{ i++; map.put(c, i); } } //输出对应字母的出现次数 Set<Character> set = map.keySet(); for(Character ch:set){ System.out.print(ch+":"+map.get(ch)+"\t"); } } }
输出结果:
a:3 c:1 d:3 e:1 f:1 g:3 i:1 j:4 k:2 l:1 m:1 n:3 o:2 r:1 s:1 v:1 w:2
-
统计String字符串中各字符个数
2011-09-24 21:06:35随便一个字符串里里面有中文英文各种符号怎么统计各字符的出现的个数。 package com; import java.util.HashMap; import java.util.Map; public class Test { public static void随便一个字符串里里面有中文英文各种符号怎么统计各字符的出现的个数。
算法比较简单。还有更优的算法求教(中兴面试题)。package com; import java.util.HashMap; import java.util.Map; public class Test { public static void main(String args[]) { String a="中国abcdefg12345678880ae中"; char []c=a.toCharArray(); Map<String,Integer> m=new HashMap<String, Integer>(); for(int i=0;i<c.length;i++){ String cstr=String.valueOf(c[i]); if(null!=m.get(cstr)){ int count=m.get(cstr); m.put(cstr, count+1); }else{ m.put(cstr,1); } } System.out.println(m); } }
-
java统计一个字符串中中文,英文,数字的个数
2015-07-22 21:21:50用java统计字符串中中文,英文,数字各多少个!public class CountCharacter { public static void main(String[] args) { String str = "哈回家看电视hello1234567890"; int length = str.length(); ... -
Java面试(编程)——统计一个字符串中有几个数字、汉字和字母
2017-11-06 23:11:52题目:一个字符串,统计其中数字、字母和汉字各有多少,字符串中只含有这三种元素。 public static void main(String[] args) { String string = "123中国sdafh哈as1c哈ac"; char[] array = string.... -
Java基础进阶-字符串统计
2020-04-07 20:48:51要求:输入一串字符,要求统计这串字符中,大写字母,小写字母以及数字的个数各有多少个。 思路: 第一步:创建对象接收字符串 第二步:创建三个变量,用来记录三种字符的个数 第三步:依次取出字符串字符,判断它们... -
算法题(十六):快手19年校招编程题一 —— 按字典顺序输出字符串中的各字母及其个数
2018-09-11 11:21:44问题:统计字符串中各个字母的个数,并按字典顺序输出字母及其个数。如输入“aabbccddfhhddd”输出“a2b2c2d5f1h2” 方法:用一个比较笨但很直接的办法来解,已经AC。用一个map预装进26个字母作为key,各自的value... -
java统计单词出现次数_java-统计一段句子中各单词出现的次数
2021-02-27 13:16:34问题:统计一段句子中各单词出现的次数。思路:1、使用split方法将文章进行分割,我们这里以空格、逗号和句点为分隔符,然后存到一个字符串数组中。2、创建一个hashMap集合,key是字符串类型,保存单词;value是数字... -
java-统计一段句子中各单词出现的次数
2017-09-13 12:23:39问题:统计一段句子中各单词出现的次数。思路: 1、使用split方法将文章进行分割,我们这里以空格、逗号和句点为分隔符,然后存到一个字符串数组中。2、创建一个hashMap集合,key是字符串类型,保存单词;value是... -
循环-06. 统计一行文本的单词个数(15)
2014-05-26 08:50:56所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 输入格式: 输入给出一行字符。 输出格式: 在一行中输出单词个数。 输入样例: Let's go to room 209. 输出样例... -
Java中String类型和StringBuilder练习
2019-10-20 20:11:501、输入一个字符串,统计大写、小写、数字、其他字符各有多少个。 public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入一个字符串"); String zf = s.... -
Java项目5-Java的常用基础类的使用
2020-05-14 23:38:21项目5 Java的常用基础类的使用 实验目的:掌握Java中一维数组的使用;...(2)利用Random类随机生成[0,100]范围内的30个数,统计各数据区间的元素个数。数据区间有[0,59],[60,69],[70,79],[80,89],[90,100]。 packa -
java范例开发大全
2013-03-08 20:06:54实例129 统计指定文件中的字符个数 183 实例130 对象的序列化与反序列化 185 实例131 同时显示多个文件 187 实例132 生成zip压缩文件 189 实例133 解压缩zip文件 192 实例134 生成Excel文件 194 实例135 读取Excel... -
最新Java面试宝典pdf版
2011-08-31 11:29:223、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉... -
Java面试宝典2010版
2011-06-27 09:48:273、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉... -
Java经典编程300例(code)
2013-01-09 10:26:53实例099 去掉字符串中的所有空格 148 实例100 Double类型的比较 149 第9章 Java集合类框架 151 范例101 用动态数组保存学生姓名 152 实例102 用List集合传递学生信息 153 实例103 Map集合二级联动 155 实例104 不... -
java范例开发大全源代码
2011-10-30 23:31:51实例129 统计指定文件中的字符个数 183 实例130 对象的序列化与反序列化 185 实例131 同时显示多个文件 187 实例132 生成zip压缩文件 189 实例133 解压缩zip文件 192 实例134 生成Excel文件 ... -
JAVA上百实例源码以及开源项目
2016-01-03 17:37:40设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到... -
Java范例开发大全 (源程序)
2011-04-27 07:47:22实例129 统计指定文件中的字符个数 183 实例130 对象的序列化与反序列化 185 实例131 同时显示多个文件 187 实例132 生成zip压缩文件 189 实例133 解压缩zip文件 192 实例134 生成Excel文件 194 ... -
JAVA上百实例源码以及开源项目源代码
2018-12-11 17:07:42设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后... -
java面试宝典2011整理有答案
2011-11-09 13:36:063、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉... -
Java范例开发大全(全书源程序)
2013-04-05 11:50:26实例129 统计指定文件中的字符个数 183 实例130 对象的序列化与反序列化 185 实例131 同时显示多个文件 187 实例132 生成zip压缩文件 189 实例133 解压缩zip文件 192 实例134 生成Excel文件 194 实例135 读取... -
Java 面试宝典
2013-02-01 10:02:0835、如何把一段逗号分割的字符串转换成一个数组? ............................................... 25 36、数组有没有 length()这个方法? String 有没有 length()这个方法? .................... 25 37、下面这... -
java 经典习题.doc
2009-09-16 11:32:591.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和... -
《Java开发实战1200例(第I卷)》(李钟尉.陈丹丹).part2 高清完整PDF版
2016-06-13 15:53:27实例078 从字符串中分离文件路径、文件名及扩展名 实例079 判断手机号的合法性 实例080 用字符串构建器追加字符 实例081 去掉字符串中的所有空格 实例082 汉字与区位码的转换 第5章 面向对象技术应用 5.1 ... -
《Java开发实战1200例(第I卷)》(李钟尉.陈丹丹).part3 高清完整PDF版
2016-06-13 16:11:24实例078 从字符串中分离文件路径、文件名及扩展名 实例079 判断手机号的合法性 实例080 用字符串构建器追加字符 实例081 去掉字符串中的所有空格 实例082 汉字与区位码的转换 第5章 面向对象技术应用 5.1 ... -
Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3
2016-06-12 11:39:31实例081 去掉字符串中的所有空格 101 实例082 汉字与区位码的转换 102 第5章 面向对象技术应用 103 5.1 Java中类的定义 104 实例083 自定义图书类 104 实例084 温度单位转换工具 105 实例085 域的默认初始化值 106 ... -
Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part1
2016-06-12 11:34:39实例081 去掉字符串中的所有空格 101 实例082 汉字与区位码的转换 102 第5章 面向对象技术应用 103 5.1 Java中类的定义 104 实例083 自定义图书类 104 实例084 温度单位转换工具 105 实例085 域的默认初始化值 106 ...