精华内容
下载资源
问答
  • Java统计字符串中各字符数量

    千次阅读 2017-08-23 21:54:23
    Java 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

    展开全文
  • 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。 /** * */ 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 + "个");
    
    	}
    
    }
    


    展开全文
  • public class TimesNum { //求字符出现的次数 public static void main(String[] args) { String strs = "awojgnjadkfjdaiongjrewngklmvcsd";... //定义一map,key是字符,value是数字 Map,Inte
    public 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统计字符串中中文,英文,数字多少!public class CountCharacter { public static void main(String[] args) { String str = "哈回家看电视hello1234567890"; int length = str.length(); ...
  • 题目:一字符串,统计其中数字、字母和汉字有多少,字符串中只含有这三种元素。 public static void main(String[] args) { String string = "123中国sdafh哈as1c哈ac"; char[] array = string....
  • 要求:输入一串字符,要求统计这串字符,大写字母,小写字母以及数字的个数有多少。 思路: 第一步:创建对象接收字符串 第二步:创建三变量,用来记录三种字符的个数 第三步:依次取出字符串字符,判断它们...
  • 问题:统计字符串中各个字母的个数,并按字典顺序输出字母及其个数。如输入“aabbccddfhhddd”输出“a2b2c2d5f1h2” 方法:用一个比较笨但很直接的办法来解,已经AC。用一个map预装进26个字母作为key,各自的value...
  • 问题:统计一段句子中各单词出现的次数。思路:1、使用split方法将文章进行分割,我们这里以空格、逗号和句点为分隔符,然后存到一个字符串数组中。2、创建一hashMap集合,key是字符串类型,保存单词;value是数字...
  • 问题:统计一段句子中各单词出现的次数。思路: 1、使用split方法将文章进行分割,我们这里以空格、逗号和句点为分隔符,然后存到一个字符串数组中。2、创建一hashMap集合,key是字符串类型,保存单词;value是...
  • 所谓“单词”是指连续不含空格的字符串单词之间用空格分隔,空格数可以是多个。 输入格式: 输入给出一行字符。 输出格式: 在一行输出单词个数。 输入样例: Let's go to room 209. 输出样例...
  • 1、输入一个字符串统计大写、小写、数字、其他字符有多少。 public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入一个字符串"); String zf = s....
  • 项目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:22
    3、编写一截取字符串的函数,输入为一个字符串和字节,输出为按字节截取的字符串,但要保证汉字不被截取半,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...
  • Java面试宝典2010版

    2011-06-27 09:48:27
    3、编写一截取字符串的函数,输入为一个字符串和字节,输出为按字节截取的字符串,但要保证汉字不被截取半,如“我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 ...
  • 设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后...
  • 3、编写一截取字符串的函数,输入为一个字符串和字节,输出为按字节截取的字符串,但要保证汉字不被截取半,如“我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:08
    35、如何把一段逗号分割的字符串转换成一数组? ............................................... 25 36、数组有没有 length()这方法? String 有没有 length()这方法? .................... 25 37、下面这...
  • java 经典习题.doc

    2009-09-16 11:32:59
    1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和...
  • 实例078 从字符串中分离文件路径、文件名及扩展名 实例079 判断手机号的合法性 实例080 用字符串构建器追加字符 实例081 去掉字符串中的所有空格 实例082 汉字与区位码的转换 第5章 面向对象技术应用 5.1 ...
  • 实例078 从字符串中分离文件路径、文件名及扩展名 实例079 判断手机号的合法性 实例080 用字符串构建器追加字符 实例081 去掉字符串中的所有空格 实例082 汉字与区位码的转换 第5章 面向对象技术应用 5.1 ...
  • 实例081 去掉字符串中的所有空格 101 实例082 汉字与区位码的转换 102 第5章 面向对象技术应用 103 5.1 Java中类的定义 104 实例083 自定义图书类 104 实例084 温度单位转换工具 105 实例085 域的默认初始化值 106 ...
  • 实例081 去掉字符串中的所有空格 101 实例082 汉字与区位码的转换 102 第5章 面向对象技术应用 103 5.1 Java中类的定义 104 实例083 自定义图书类 104 实例084 温度单位转换工具 105 实例085 域的默认初始化值 106 ...

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

java统计字符串中各字符个数

java 订阅