国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java統計字符串中字母出現的次數

2019-11-06 07:52:49
字體:
來源:轉載
供稿:網友

看到一個面試題,突發奇想總結下統計字符串中字母出現次數的相關問題。 一、統計字符串中出現的字母及其出現次數 直接上代碼

@Test public void test() { getNums("aaacc好啊accjjj1jjkJkkoo"); } public static void getNums(String str) { int[] nums = new int[26]; //遍歷str中的每個字符 for(char i : str.toCharArray()) { //在a-z之間 if(i >= 97 && i <= 123) { //計數 nums[i - 97]++; } } //統計字符串中出現的所有字母和個數 for(int i = 0; i<nums.length; i++) { if(nums[i] != 0) { char j = (char) (i + 97); System.out.注意:此方法僅能過濾掉字符串中的數字、漢字,不能把大寫字母轉化成小寫字母合起來統計次數,此為遺憾。

二、統計字符串中出現的字母及其出現次數,并輸出首次出現該字母的索引位置。 這里將(一)中的代碼稍微修改成二維數組即可

@Test public void test() { getNums("aaaccaccjjj1jjkJ好啊kkoo"); } public static void getNums(String str) { // 二維數組中第一位放字母出現的次數,第二位放首次出現該字母的索引位置 int[][] nums = new int[26][2]; char[] chs = str.toCharArray(); // 遍歷str中的每個字符 for (int i = 0; i < chs.length; i++) { if (chs[i] >= 97 && chs[i] <= 123) { if (nums[chs[i]-97][0] == 0) { nums[chs[i]-97][1] = i; } // 計數 nums[chs[i]-97][0]++; } } // 統計字符串中所有字母和個數,及第一次出現的索引位置 for (int i = 0; i < nums.length; i++) { if (nums[i][0] != 0) { char j = (char) (i + 97); System.out.println(j + "出現的次數為" + nums[i][0]+",第一次出現的索引位置為"+nums[i][1]); } } }

三、統計相同字符連續緊鄰出現且長度最長的任意字符串片段。 未完待續。 ps:小女子初學java只會這樣的笨辦法,如果有更精妙的方法可以共享~


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 弥勒县| 卢龙县| 凤冈县| 平安县| 乡城县| 阿巴嘎旗| 崇州市| 昌吉市| 繁昌县| 苗栗市| 凉城县| 吉水县| 广汉市| 尖扎县| 迭部县| 汉中市| 六盘水市| 安徽省| 阿鲁科尔沁旗| 方正县| 凤翔县| 聊城市| 娄底市| 通山县| 房山区| 合山市| 乐亭县| 太仓市| 洮南市| 宁陵县| 丹巴县| 杂多县| 济阳县| 开远市| 资中县| 金溪县| 济源市| 治县。| 凯里市| 马关县| 宜宾县|