使用java實(shí)現(xiàn)打印字符串中字符出現(xiàn)的次數(shù)?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
在行唐等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需求定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營(yíng)銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè),行唐網(wǎng)站建設(shè)費(fèi)用合理。今天在面試時(shí)遇到一道算法的題:
給定一個(gè)字符串,輸出每次字符出現(xiàn)的次數(shù);要求按照順序輸出;
自己的思路開(kāi)始是:
1.把String轉(zhuǎn)換char數(shù)組
2.直接去遍歷數(shù)組,獲取每個(gè)字符出現(xiàn)次數(shù),遇到不同時(shí)候重新記錄
3.把結(jié)果用StringBuffer拼接后輸出
public class Record { public static void main(String[] args) { System.out.println("直接遍歷數(shù)組的方法:"+compressStrArray("aaacccddeffgghhhhaa")); } //直接遍歷數(shù)組拼接,獲得對(duì)字符記錄結(jié)果是有序的,但是會(huì)出現(xiàn)重復(fù)字符的情況,在去修改重復(fù)字符邏輯也比較麻煩 public static String compressStrArray(String srcStr) { char[] chars = srcStr.toCharArray(); char c = chars[0]; int i = 0; int a = 0; StringBuffer buffer = new StringBuffer(); for (char aChar : chars) { a++; if (aChar != c) { buffer.append(i).append(c+" "); c = aChar; i=1; }else { i++; } if (a >= chars.length) { buffer.append(i).append(c+" "); } } return buffer.toString(); } }