java實(shí)現(xiàn)的統(tǒng)計(jì)字符算法示例
本文實(shí)例講述了java實(shí)現(xiàn)的統(tǒng)計(jì)字符算法。分享給大家供大家參考,具體如下:
統(tǒng)計(jì)字符:
概述:給定字符串,將它們進(jìn)行分類(lèi),分別的去統(tǒng)計(jì)它們的個(gè)數(shù)及其字符
分類(lèi)的有:字母 數(shù)字 中文 空格 等等
算法思路分析:
分別統(tǒng)計(jì)即可:
下面給出代碼:(代碼僅供參考)
package javastudy; public class Testit6 { public static void main(String[] args) { String str = "...天2氣 ;[1] aA"; // 英文 中文 數(shù)字 空格 其他 System.out.printf("字符串長(zhǎng)度:%d\n", str.length()); //輸出總字符串的長(zhǎng)度! StringBuilder[] s = new StringBuilder[4]; for (int i = 0; i < s.length; i++) { s[i] = new StringBuilder(); //生成存放字符的數(shù)組 } for (int i = 0; i < str.length(); i++) { if (str.charAt(i) >= 'A' && str.charAt(i) <= 'z') { //判斷英文字符 s[0].append(str.charAt(i)); //存放符合條件的字符 } else if (str.charAt(i) >= 19968 && str.charAt(i) <= 171941) { //判斷中文 這只是一種判斷中文的方法 s[1].append(str.charAt(i)); } else if (str.charAt(i) >= '0' && str.charAt(i) <= '9') { //判斷數(shù)字字符 s[2].append(str.charAt(i)); } else { //其他 另外的判斷空格值之類(lèi)的,自己可以去百度上查查 s[3].append(str.charAt(i)); } } for (int i = 0; i < s.length; i++) { //打印輸出 System.out.printf("%d\t%s\n", s[i].length(), s[i].toString()); } } }
輸出結(jié)果:
字符串長(zhǎng)度:14 4 []aA 3 天氣; 2 21 5 ...
PS:這里再為大家推薦2款非常方便的統(tǒng)計(jì)工具供大家參考使用:
在線字?jǐn)?shù)統(tǒng)計(jì)工具:
http://tools.jb51.net/code/zishutongji
在線字符統(tǒng)計(jì)與編輯工具:
http://tools.jb51.net/code/char_tongji
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
java將html轉(zhuǎn)成圖片代碼實(shí)例(html2image)
這篇文章主要介紹了java將html轉(zhuǎn)成圖片的相關(guān)資料,在Java開(kāi)發(fā)中,將HTML轉(zhuǎn)換為圖片可以使用html2image庫(kù),文中通過(guò)代碼及圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09SpringBoot公共頁(yè)面抽取方法實(shí)現(xiàn)過(guò)程介紹
這篇文章主要介紹了SpringBoot抽取公共頁(yè)面的方法實(shí)現(xiàn)過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-10-10Java如何實(shí)現(xiàn)HTTP斷點(diǎn)續(xù)傳功能
其實(shí)斷點(diǎn)續(xù)傳的原理很簡(jiǎn)單,就是在Http的請(qǐng)求上和一般的下載有所不同而已,本文將詳細(xì)介紹Java如何實(shí)現(xiàn)HTTP斷點(diǎn)續(xù)傳功能,需要的朋友可以參考下2012-11-11Java實(shí)現(xiàn)多項(xiàng)式乘法代碼實(shí)例
今天小編就為大家分享一篇關(guān)于Java實(shí)現(xiàn)多項(xiàng)式乘法代碼實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10mybatis-plus自帶QueryWrapper自定義sql實(shí)現(xiàn)復(fù)雜查詢(xún)實(shí)例詳解
MyBatis-Plus是一個(gè)MyBatis(opens new window)的增強(qiáng)工具,在 MyBatis的基礎(chǔ)上只做增強(qiáng)不做改變,MyBatis可以無(wú)損升級(jí)為MyBatis-Plus,這篇文章主要給大家介紹了關(guān)于mybatis-plus自帶QueryWrapper自定義sql實(shí)現(xiàn)復(fù)雜查詢(xún)的相關(guān)資料,需要的朋友可以參考下2022-10-10SpringBoot2 JPA解決懶加載異常的問(wèn)題
這篇文章主要介紹了SpringBoot2 JPA解決懶加載異常的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01Java實(shí)戰(zhàn)之簡(jiǎn)單的文件管理器
這篇文章主要介紹了Java實(shí)戰(zhàn)之簡(jiǎn)單的文件管理器,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-04-04分布式醫(yī)療掛號(hào)系統(tǒng)Nacos微服務(wù)Feign遠(yuǎn)程調(diào)用數(shù)據(jù)字典
這篇文章主要為大家介紹了分布式醫(yī)療掛號(hào)系統(tǒng)Nacos微服務(wù)Feign遠(yuǎn)程調(diào)用數(shù)據(jù)字典,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2022-04-04SpringSecurity?默認(rèn)登錄認(rèn)證的實(shí)現(xiàn)原理解析
這篇文章主要介紹了SpringSecurity?默認(rèn)登錄認(rèn)證的實(shí)現(xiàn)原理解析,本文通過(guò)圖文示例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-12-12