public class Test {\x0d\x0a\x0d\x0a public static void main(String[] args) throws Exception{\x0d\x0a Scanner input=new Scanner(System.in);\x0d\x0a System.out.println("請(qǐng)輸入路徑");\x0d\x0a String path=input.next();\x0d\x0a int charNum= 0 ;\x0d\x0a int wordsNum= 0;\x0d\x0a int lineNum = 0;\x0d\x0a InputStreamReader isr = new InputStreamReader(new FileInputStream(path)); \x0d\x0a BufferedReader br = new BufferedReader(isr);\x0d\x0a while( br.read()!= -1){\x0d\x0a String s = br.readLine();\x0d\x0a charNum+=s.length();\x0d\x0a wordsNum +=s.split(" ").length;\x0d\x0a lineNum ++; \x0d\x0a }\x0d\x0a isr.close();//關(guān)閉\x0d\x0a System.out.println("字符數(shù):"+charNum+"\t單詞數(shù):"+wordsNum+"行 數(shù):"+lineNum); \x0d\x0a\x0d\x0a }\x0d\x0a}

為上高等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及上高網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站制作、上高網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
整個(gè)代碼就是為了統(tǒng)計(jì)字符串中各個(gè)字符出現(xiàn)的個(gè)數(shù)
MapCharacter, Integer result = getCharMaps(s); 這個(gè)方法調(diào)用
主要是看這個(gè)方法
public static MapCharacter, Integer getCharMaps(String s) {
MapCharacter, Integer map = new HashMapCharacter, Integer(); //定義一個(gè)map
for(int i = 0; i s.length(); i++) { // 下面的代碼主要是循環(huán)字符串,一次取出每一個(gè)字符
Character c = s.charAt(i); //獲取對(duì)應(yīng)的字符
Integer count = map.get(c); //獲取字符對(duì)應(yīng)出現(xiàn)的次數(shù)
map.put(c, count == null ? 1 : count + 1); //如果之前出現(xiàn)過(guò),則加1,否則直接賦1
}
return map; //返回最終的map
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int abcCount=0;//英文字母?jìng)€(gè)數(shù)
int spaceCount=0;//空格鍵個(gè)數(shù)
int numCount=0;//數(shù)字個(gè)數(shù)
int otherCount=0;//其他字符個(gè)數(shù)
Scanner scan=new Scanner(System.in);
String str=scan.nextLine();
char[] ch = str.toCharArray();
for(int i=0;ich.length;i++){
if(Character.isLetter(ch[i])){
//判斷是否字母
abcCount++;
}
else if(Character.isDigit(ch[i])){
//判斷是否數(shù)字
numCount++;
}
else if(Character.isSpaceChar(ch[i])){
//判斷是否空格鍵
spaceCount++;
}
else{
//以上都不是則認(rèn)為是其他字符
otherCount++;
}
}
System.out.println("字母?jìng)€(gè)數(shù):"+abcCount);
System.out.println("數(shù)字個(gè)數(shù):"+numCount);
System.out.println("空格個(gè)數(shù):"+spaceCount);
System.out.println("其他字符個(gè)數(shù):"+otherCount);
123456789101112131415161718192021222324
public?static?void?main(String[]?args)?throws?IOException?{????????BufferedReader?br=new?BufferedReader(new?InputStreamReader(System.in));????????String?str=br.readLine();?????????int?countNum?=?0;//統(tǒng)計(jì)數(shù)字的個(gè)數(shù)????????int?countChar?=?0;//統(tǒng)計(jì)英文字母的個(gè)數(shù)????????int?countSpace?=?0;//統(tǒng)計(jì)空格的個(gè)數(shù)????????int?countOthers?=?0;//統(tǒng)計(jì)其它字符的個(gè)數(shù)????????for?(int?i?=?0;?i??str.length();?i++)?{????????????char?c?=?str.charAt(i);????????????if?(c?=?'0'??(int)?c?=?'9')?{????????????????countNum++;????????????}?else?if?((c?=?'a'??c?=?'z')||(c?=?'A'??c?=?'Z'))?{????????????????countChar++;????????????}?else?if?(c?==?'?')?{????????????????countSpace++;????????????}?else{????????????????countOthers++;????????????}????????}????????System.out.println("數(shù)字個(gè)數(shù):"+countNum);????????System.out.println("英文字母?jìng)€(gè)數(shù):"+countChar);????????System.out.println("空格個(gè)數(shù):"+countSpace);????????System.out.println("其他字符個(gè)數(shù):"+countOthers);????}
一、問(wèn)題分析:
輸入一行字母,那么會(huì)以換行結(jié)束。所以可以存入數(shù)組,也可以逐個(gè)輸入,遇到換行結(jié)束。
要統(tǒng)計(jì)各個(gè)類的個(gè)數(shù),就要逐個(gè)判斷是哪個(gè)分類的。
由于在ASCII碼中,數(shù)字,大寫(xiě)字母,小寫(xiě)字母分別連續(xù),所以可以根據(jù)邊界值判斷類型。
二、算法設(shè)計(jì):
1、讀入字符,直到遇到換行結(jié)束。
2、對(duì)于每個(gè)字符,判斷是字母還是數(shù)字,或者空格,或者是其它字符。
3、對(duì)于每個(gè)字符判斷后,對(duì)應(yīng)類別計(jì)數(shù)器自加。
4、最終輸出結(jié)果。
分享題目:java字符統(tǒng)計(jì)源代碼 java如何統(tǒng)計(jì)字符串的字?jǐn)?shù)
本文地址:http://www.chinadenli.net/article30/dooipso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、微信小程序、網(wǎng)站營(yíng)銷、定制開(kāi)發(fā)、網(wǎng)站制作、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容