java中如何统计某个字母在一个字符串中出现了多少次啊 java 怎样从一个string字符串中判断某个字母出现的次...
java\u4e2d\u5982\u4f55\u7edf\u8ba1\u67d0\u4e2a\u5b57\u6bcd\u5728\u4e00\u4e2a\u5b57\u7b26\u4e32\u4e2d\u51fa\u73b0\u4e86\u591a\u5c11\u6b211\u3001\u6839\u636elength\u83b7\u53d6\u5b57\u7b26\u4e32\u957f\u5ea6
1
2
String s = "abcdedfae";//\u5b9a\u4e49\u4e00\u4e2a\u5b57\u7b26\u4e32
int len = s.length();//\u83b7\u53d6\u539f\u6765\u7684\u5b57\u7b26\u4e32\u957f\u5ea6
2\u3001\u901a\u8fc7replaceAll\u65b9\u5f0f\uff0c\u628a\u5b57\u7b26\u4e32\u4e2d\u8be5\u5b57\u6bcd\u66ff\u6362\u6210\u7a7a
1
String s1 = s.replaceAll(\u8981\u7edf\u8ba1\u7684\u5b57\u6bcd,"");
3\u3001\u83b7\u53d6\u66ff\u6362\u540e\u7684\u5b57\u7b26\u4e32\u957f\u5ea6
1
int len2 = s1.length();
4\u3001\u539f\u6765\u7684\u5b57\u7b26\u4e32\u957f\u5ea6\u51cf\u53bb\u66ff\u6362\u540e\u7684\u5b57\u7b26\u4e32\u957f\u5ea6\u5c31\u662f\u8be5\u5b57\u6bcd\u51fa\u73b0\u7684\u6b21\u6570
1
int lenTimes = len1-len2;//\u51fa\u73b0\u7684\u6b21\u6570
str\u4e3a\u4f60\u8981\u6d4b\u8bd5\u7684\u5b57\u7b26\u4e32
\u7b2c\u4e00\u79cd\u65b9\u6cd5\uff1a
byte[] temp = str.getBytes();//\u4f7f\u7528\u5e73\u53f0\u9ed8\u8ba4\u7684\u5b57\u7b26\u96c6\u5c06\u6b64 String \u89e3\u7801\u4e3a\u5b57\u8282\u5e8f\u5217\uff0c\u5e76\u5c06\u7ed3\u679c\u5b58\u50a8\u5230\u4e00\u4e2a\u65b0\u7684\u5b57\u8282\u6570\u7ec4\u4e2d\u3002
int count = 0;
//\u904d\u5386\u6570\u7ec4\u7684\u6bcf\u4e00\u4e2a\u5143\u7d20\uff0c\u4e5f\u5c31\u662f\u5b57\u7b26\u4e32\u4e2d\u7684\u6bcf\u4e00\u4e2a\u5b57\u6bcd
for(int i=0;i<temp.length; i++){
//\u5982\u679c\u5b57\u6bcd\u7b49\u4e8ec
if(temp[i].equals('c')){
//\u8ba1\u6570\u5668\u52a0\u4e00
count ++;
}
}
\u7b2c\u4e8c\u79cd\uff1a
int count=0;
String str =""//\u4f60\u8981\u6d4b\u8bd5\u7684\u5b57\u7b26\u4e32
//index\u4e3a\u5b57\u7b26\u4e32\u4e2d\u7b2c\u4e00\u6b21\u51fa\u73b0c\u7684\u4f4d\u7f6e\uff0c\u5982\u679c\u5b57\u7b26\u4e32\u4e2d\u6ca1\u6709c\u5c06\u8fd4\u56de-1
int index = str.indexOf("c");
//\u5982\u679c\u5b57\u7b26\u4e32\u4e2d\u6709c
while( str.indexOf("c")!=-1){
count++;
//\u5c06\u5b57\u7b26\u4e32\u51fa\u73b0c\u7684\u4f4d\u7f6e\u4e4b\u524d\u7684\u5168\u90e8\u622a\u53d6\u6389
str = str.subString(str.indexOf("c"));
}
\u8003\u8651\u5927\u5c0f\u5199\uff1a str = str.toLowerCase();//\u5c06\u5b57\u7b26\u4e32\u5168\u90e8\u8f6c\u5316\u6210\u5c0f\u5199
1、根据length获取字符串长度
String s = "abcdedfae";//定义一个字符串
int len = s.length();//获取原来的字符串长度
2、通过replaceAll方式,把字符串中该字母替换成空
String s1 = s.replaceAll(要统计的字母,"");
3、获取替换后的字符串长度
int len2 = s1.length();
4、原来的字符串长度减去替换后的字符串长度就是该字母出现的次数
int lenTimes = len1-len2;//出现的次数
Java codepublicclassStrPlus{publicstaticvoidmain(String[] args) {intintChar[]=newint[26];//记录可能出现的26个小写字母每个出现的次数String str="abstacta";intcount=0;//count记记录某个字母出现了多少次for(inti=0;i<str.length();i++){count=++intChar[str.charAt(i)-97];//某个字母出现一次就增加一次 出现的结果是这样的:
//=================单个字符串 ================
/**
* 统计出现次数
*
* @param value 字符串
* @param c 需要统计的字符
* @return
*/
public int appear(String value, char c) {
if (isEmpty(value)) {
return 0;
}
int sum = 0;
for (int i = 0; i < value.length(); i++) {
if (value.charAt(i) == c) {
sum++;
}
}
return sum;
}
//====================多个字符串===============
/**
* 统计出现的次数, 已经计算过的位置 不在进行计算, 比如说 "AAAA"=> "AA" = 2 ,并不会返回 3,
*
* @param value 给定字符串
* @param app 需要统计的字符串
* @return 返回统计数量, 字符串都为空串,也会返回 0,而不是1, 参数任何一方不可用 都会返回0
*/
public int appear(String value, String app) {
if(isEmpty(app)||isEmpty(value)) {
return 0;
}
int sum=0;
int index=0;
while ((index = value.indexOf(app, index)) != -1) {
index+= app.length();
sum++;
}
return sum;
}
绛旓細浣犲彲浠ヨ繖鏍峰仛锛屽皢杩欎釜string鐨勫瓧绗︿覆鏀惧埌涓涓瓧绗︽暟缁勪腑鍘伙紝鐒跺悗鐢ㄥ惊鐜亶鍘嗗嚭鍏朵腑鐨勬瘡涓涓瓧绗︼紝骞跺皢鍏舵斁鍦ㄤ竴涓柊鐨刲ist鎴栬卪ap涓幓锛宬ey灏辨槸鍦ㄨ繖涓瓧绗︿覆涓嚭鐜扮殑瀛楃锛寁alue灏辨槸鐢ㄥ惊鐜亶鍘嗗嚭鏉ュ嚭鐜扮殑娆℃暟锛岃繖鏍蜂笉灏辨嬁鍒颁簡鍚楋紒
绛旓細str涓轰綘瑕佹祴璇曠殑瀛楃涓 绗竴绉嶆柟娉曪細byte[] temp = str.getBytes();//浣跨敤骞冲彴榛樿鐨勫瓧绗﹂泦灏嗘 String 瑙g爜涓哄瓧鑺傚簭鍒楋紝骞跺皢缁撴灉瀛樺偍鍒颁竴涓柊鐨勫瓧鑺傛暟缁勪腑銆俰nt count = 0;//閬嶅巻鏁扮粍鐨勬瘡涓涓厓绱狅紝涔熷氨鏄瓧绗︿覆涓殑姣忎竴涓瓧姣 for(int i=0;i<temp.length; i++){ //濡傛灉瀛楁瘝绛変簬c if...
绛旓細杈撳叆涓琛瀛楁瘝锛岄偅涔堜細浠ユ崲琛岀粨鏉熴傛墍浠ュ彲浠ュ瓨鍏ユ暟缁勶紝涔熷彲浠ラ愪釜杈撳叆锛岄亣鍒版崲琛岀粨鏉熴傝缁熻鍚勪釜绫鐨勪釜鏁帮紝灏辫閫愪釜鍒ゆ柇鏄摢涓垎绫荤殑銆傜敱浜庡湪ASCII鐮佷腑锛屾暟瀛楋紝澶у啓瀛楁瘝锛屽皬鍐欏瓧姣嶅垎鍒繛缁紝鎵浠ュ彲浠ユ牴鎹竟鐣屽煎垽鏂被鍨嬨備簩銆佺畻娉曡璁★細1銆佽鍏ュ瓧绗︼紝鐩村埌閬囧埌鎹㈣缁撴潫銆2銆佸浜庢瘡涓瓧绗︼紝鍒ゆ柇鏄瓧姣嶈繕鏄暟瀛楋紝...
绛旓細import java.io.*;import java.util.*;/**棰樼洰:鐢╦ava锛缁熻txt鏂囦欢涓瘡涓枃瀛楁垨鑰瀛楁瘝鍑虹幇鐨勬鏁帮紝骞剁敱澶у埌灏忔帓鍒楋紝骞舵樉绀烘瘡涓枃瀛楁垨鑰呭瓧姣嶅嚭鐜扮殑娆℃暟鎬濊矾锛1.瀹氫箟瀛楃璇诲彇(缂撳啿)娴2.寰幆璇诲彇鏂囦欢閲岀殑瀛楃锛岀敤涓涓猄tring绫诲瀷鍙橀噺鎺ユ敹(newValue)3.鎶妌ewValue鍙樻垚瀛楃鏁扮粍char[] ch = newValue....
绛旓細1銆佷娇鐢 String.replace() 鎶婄洰鏍瀛楁瘝鏇挎崲鎺夛紝鐒跺悗绠楀瓧绗︿覆闀垮害鐨勫彉鍖栥2銆乻ubstring()鏂规硶锛岀湅鐪嬪嚭鐜颁簡鍑犱釜鏁扮粍-1銆Java鏄竴绉嶅彲浠ユ挵鍐欒法骞冲彴搴旂敤绋嬪簭鐨勯潰鍚戝璞$殑绋嬪簭璁捐璇█銆侸ava 鎶鏈叿鏈夊崜瓒婄殑閫氱敤鎬с侀珮鏁堟с佸钩鍙扮Щ妞嶆у拰瀹夊叏鎬э紝骞挎硾搴旂敤浜嶱C銆佹暟鎹腑蹇冦佹父鎴忔帶鍒跺彴銆佺瀛﹁秴绾ц绠楁満銆佺Щ鍔ㄧ數璇濆拰...
绛旓細for(int i=0;i<100;i++){ int j = (int)(65+Math.random()*(26));//闅忔満浜х敓涓涓65-90鐨勬暟瀛楋紝鍥犱负鏄ぇ鍐瀛楁瘝鐨ASCII鐮佸搴旂殑鏁板瓧鑼冨洿 //System.out.println(j);char zimu = (char)j;//灏嗛殢鏈轰骇鐢熺殑鏁板瓧杞崲鎴愬瓧绗︹滃瓧姣嶁漇ystem.out.print(zimu+""+" ");if(c.get(zimu)...
绛旓細閫氳繃寰幆閬嶅巻瀛楃涓诧紝鐒跺悗涓涓釜鐨勬瘮杈冿紝璁颁笅鐩稿悓瀛楃鐨勪釜鏁板氨琛屼簡銆備唬鐮佸涓嬶細import java.util.Scanner;import java.util.TreeMap;/** * 浠庨敭鐩樿緭鍏16浣嶉暱鏁存暟,缂栫▼缁熻姣忎釜鏁板瓧鍑虹幇鐨勪釜鏁 * @author young * */public class CharMapDemo {// 缁熻鏁板瓧鎴栬呭瓧绗﹀嚭鐜扮殑娆℃暟public static TreeMap<...
绛旓細for (int i = 0; i <cs.length; i++) {System.out.println(cs[i]+"鍑虹幇鐨勪釜鏁"+arys[i]);}System.out.println("澶у啓鍏冮煶瀛楁瘝鐨涓暟"+arys[5]);System.out.println("闈炲厓闊冲瓧姣嶇殑涓暟"+arys[6]);}private static int[] findChar(String str) {int[] arys = new int[7];//0...
绛旓細charMap.put((charMap.get('c'))==0?1:charMap.get('c')+1);} } //鎵撳嵃map闆嗗悎涓殑鐨勬暟鎹 public static void printCharCount(Map<char,int> map){ char [] cs=map.getKeys();for(char c:cs){ int x=map.get(c);System.out.println("瀛楃鏄"+c+"鐨勫瓧姣鍏辨湁"+x+"涓");} ...
绛旓細sb = new StringBuffer(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line); } reader.close(); // 缁熻瀛楁瘝涓鏁 for (int i = 0; i < sb.length(