我是靠谱客的博主 纯情鸡翅,最近开发中收集的这篇文章主要介绍统计一个字符串内所有字母出现的次数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

英文字母只有26个,可以让每一个字符和他做一个对比,相同个数+1,当个数为0时说明没有此字母出现

 方式一:


		/**
		 * 判断此字符串内所有的字母出现的次数
		 * hdsakhdsakhflkdsjfldsafkdskfdsalkfdsalkfpdspfAmklAldAkdsaAA
		 * 
		 */
		String s5 = "hdsakhdsakhflkdsjfzldsafkdskfdsalkfdsalkfpdspfAmklAldAkdsaAA";
		// A~z的ASCII码值 方式一
		for (char i = 'A'; i <='Z'; i++) {
			int count = 0;
			for (int j = 0; j < s5.length(); j++) {
				if (i == s5.charAt(j)) {
					count++;
				}
			}
			// 当count的个数为0时说明没有出现过该字母
			if (count != 0) {
				System.out.println((char) i + "--->" + count);
			}
		}
        /
	

 方式二:

        /**
		 * 判断此字符串内所有的字母出现的次数
		 * hdsakhdsakhflkdsjfldsafkdskfdsalkfdsalkfpdspfAmklAldAkdsaAA
		 * 
		 */
		String s5 = "hdsakhdsakhflkdsjfzldsafkdskfdsalkfdsalkfpdspfAmklAldAkdsaAA";
    
        //1.新建一个字符串存储不重复的单个字符
        String newStr = "";
        for(int i = 0;i<s5.length();i++){
               char temp =  s5.charAt(i);

            if(newStr.indexOf(temp )==-1){
                newStr+=temp ;
            }
        }

         for(int i = 0;i<newStr.length();i++){
                char temp = newStr.charAt(i);
                  int count = 0;
                for(int j = 0;j<s5.length();j++){
                        
                    if(temp==s5.chatAt(j)){

                        count ++;
                      }
                 }
                System.out.println(temp+" --> "+count);

            }

方式三

//将无序字符串变为有序 结束-开始+1 就是出现的次数

        String s = "DBCAABCDDBCA";
    

        //转为字符数组
        char[] chars = s.toCharArray();
        System.out.println("Arrays.toString(chars) = " + Arrays.toString(chars));//[D, B, C, A, A, B, C, D, D, B, C, A]

        Arrays.sort(chars);
        System.out.println("Arrays.toString(chars) = " + Arrays.toString(chars));//[A, A, A, B, B, B, C, C, C, D, D, D]
        //排序后转为字符串
        String s1 = new String(chars);
        System.out.println("s1 = " + s1);// AAABBBCCCDDD

        for (int i = 0; i < s1.length(); ) {
            //获取起始字符
            char start = s1.charAt(i);
            //获取结束下标
            int lastIndexOf = s1.lastIndexOf(start);

            //结束下标-开始下标+1
            int count = lastIndexOf-i+1;

            System.out.println(start+" ---> "+count);
            //获取第二个元素的开始下标 = 结束下标+1
            i = lastIndexOf+1;

        }

A ---> 3
B ---> 3
C ---> 3
D ---> 3

结果如下:


 

最后

以上就是纯情鸡翅为你收集整理的统计一个字符串内所有字母出现的次数的全部内容,希望文章能够帮你解决统计一个字符串内所有字母出现的次数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部