根據(jù)Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")來匹配
昌邑網(wǎng)站建設公司創(chuàng)新互聯(lián),昌邑網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為昌邑上千多家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設公司要多少錢,請找那個售后服務好的昌邑做網(wǎng)站的公司定做!
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
String?src?=?"王大錘+wefw";
char[]?t1?=?null;
t1?=?src.toCharArray();
int?t0?=?t1.length;
int?count?=?0;
for?(int?i?=?0;?i??t0;?i++)?{
if?(Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+"))?{
count?++;
}
}
System.out.println(count);
}
【實例描述】
字符串中可以包含數(shù)字,字母、漢字或者其他字符。使用Character類的isDigit()方法可以判斷字符中的某個字符是否為數(shù)字,使用Character類的isLetter()方法可以判斷字符中的某個字符是否為字母。實例中將介紹一種方法用來判斷字符串中的某個字符是否為漢字,通過此方法可以計算字符串中漢字的數(shù)量。實例的運行效果如圖4.24所示。
【實現(xiàn)過程】
在Eclipse中新建項目ChineseCharacter,并在其中創(chuàng)建一個ChineseCharacter.java文件。在該類的主方法中創(chuàng)建標準輸入流的掃描器對象,接收用戶輸入的字符串。我們在程序中使用matches()方法來統(tǒng)計該字符串中漢字的個數(shù)。核心代碼如下所示:
protectedvoiddo_button_actionPerformed(ActionEvente){Stringtext=chineseArea.getText();//獲取用戶輸入intamount=0;//創(chuàng)建漢字數(shù)量計數(shù)器for(inti=0;itext.length();i++){//遍歷字符串每一個字符//使用正則表達式判斷字符是否屬于漢字編碼booleanmatches=Pattern.matches("^[\u4E00-\u9FA5]{0,}$",""+text.charAt(i));if(matches){//如果是漢字amount++;//累加計數(shù)器}}umField.setText(amount+"");//在文本框顯示漢字數(shù)量}
【代碼解析】
本實例的關鍵點在于正則表達式的使用。Java提供了Pattern用于正則表達式的編譯表示形式,該類提供的靜態(tài)方法matches()可以執(zhí)行正則表達式的匹配。該方法編譯給定正則表達式并嘗試給定輸入與其匹配。如果要匹配的字符序列與正則表達式匹配則返回true,否則返回false。其聲明語法如下:
publicstaticbooleanmatches(Stringregex,CharSequenceinput);【知識擴展】
使用正則表達式可以方便地進行字符串操作,正則表達式經(jīng)常被用來驗證用戶輸入的信息,如可以判斷用戶輸入的格式是否正確。本實例中使用正則表達式來判斷用戶輸入的字符串是否為漢字,如果為漢字則計數(shù)器加1,最后得到字符串中所有漢字的數(shù)量。
其實直接把要統(tǒng)計的字數(shù)放在一個字符串里就行了string str = "";
然后再用string的length方法就可以統(tǒng)計字符串長度了。
string str = "xxxxx";
int strlen = str.length();
system.out.print(strlen);
打印出來的數(shù)字就是所輸入的字數(shù)(這里是包括標點符號的,如果要去標點空格可以用正則表達式)
由于名字是一樣的,只需要利用循環(huán)結構,控制名字后面的數(shù)字就可以了,為了有良好的編程習慣,還要注意編程時的縮進。
其實現(xiàn)如下所寫:
public class OutName
{
public static void main(String [] args)
{
for(i=1;i=100;i++)
{
System.out.println("李三"+i);
}
}
}
他沒定義i,運行不了
這個行
public class q1 {
public static void main(String [] args) {
for(int i = 1; i = 100; i ++)
System.out.println("李三" + i);
}
}
網(wǎng)站欄目:java統(tǒng)計名字字數(shù)代碼 java統(tǒng)計英文字母,空格,數(shù)字和其他字符的個數(shù)
標題網(wǎng)址:http://jinyejixie.com/article30/ddccoso.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站制作、網(wǎng)站營銷、企業(yè)網(wǎng)站制作、微信小程序、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)