java字元串中字元個數
Ⅰ java語言中如何獲取字元串中漢字的個數
【實例描述】
字元串中可以包含數字,字母、漢字或者其他字元。使用Character類的isDigit()方法可以判斷字元中的某個字元是否為數字,使用Character類的isLetter()方法可以判斷字元中的某個字元是否為字母。實例中將介紹一種方法用來判斷字元串中的某個字元是否為漢字,通過此方法可以計算字元串中漢字的數量。實例的運行效果如圖4.24所示。
【實現過程】
在Eclipse中新建項目ChineseCharacter,並在其中創建一個ChineseCharacter.java文件。在該類的主方法中創建標准輸入流的掃描器對象,接收用戶輸入的字元串。我們在程序中使用matches()方法來統計該字元串中漢字的個數。核心代碼如下所示:
【代碼解析】
本實例的關鍵點在於正則表達式的使用。Java提供了Pattern用於正則表達式的編譯表示形式,該類提供的靜態方法matches()可以執行正則表達式的匹配。該方法編譯給定正則表達式並嘗試給定輸入與其匹配。如果要匹配的字元序列與正則表達式匹配則返回true,否則返回false。其聲明語法如下:
使用正則表達式可以方便地進行字元串操作,正則表達式經常被用來驗證用戶輸入的信息,如可以判斷用戶輸入的格式是否正確。本實例中使用正則表達式來判斷用戶輸入的字元串是否為漢字,如果為漢字則計數器加1,最後得到字元串中所有漢字的數量。
Ⅱ java定義一個字元串個數為7個
1. java中定義一個字元串數組方式如下,string類型和其他基本類型相似,創建數組有兩種方式 :
String[] str={"AAA","BBB","CCC"};
String str[]={"AAA","BBB","CCC"};
2.推薦用ArrayList
strArray = new ArrayList
(); 比較靈活。
3.也可以寫為如下格式:class[] array; array = new class[number];其中前半句為聲明,後半句為初始化,初始化必須要讓編譯器知道大小,聲明的時候java是不分配內存的,只有創建的時候也就是new的時候才會分配內存。
Ⅲ 在JAVA中,鍵盤輸入的字元串中包含的字母、數字和其他字元的個數如何製作
importjava.util.Scanner;/***統計字元串中數字,字母,空格,其他字元的個數*
@authorAdministrator**/publicclassData01{publicstaticvoidmain(String[]args){intenglishCount=0;//英文字母個數
intspaceCount=0;//空格個數intnumCount=0;//數字個數
intotherCount=0;//其他字元個數
Scannersc=newScanner(System.in);
System.out.println("請您輸入一行字元:");
Stringstr=sc.nextLine();//取得控制台輸入的一行字元
char[]ch=str.toCharArray();//把取道的字元串變成一個char數組
or(inti=0;i<ch.length;i++){
if(Character.isLetter(ch[i])){//判斷是否為字母englishCount++;}
elseif(Character.isSpaceChar(ch[i])){
//判斷是否為空格spaceCount++;}
elseif(Character.isDigit(ch[i])){//判斷是否為數字numCount++;
}else{//以上都不是則認為是其他字元otherCount++;}}
System.out.println("字母的個數:"+englishCount);
System.out.println("數字的個數:"+numCount);
System.out.println("空格的個數:"+spaceCount);
System.out.println("其他字元的個數:"+otherCount);}}
Ⅳ 如何用java String 查找字元個數
import java.util.Scanner;
public class test3 {
public static void main(String [] args){
System.out.print("inuput : ");
Scanner input=new Scanner(System.in);
int [] digit =new int[256];
String inputString = input.next();
//為了避免在輸入的時候錯誤的鍵入了空格和table,進行一下處理
//以空格為分隔符分割字元串
String [] strings=inputString.split(" ");
String inputString1="";
//將分割後的字元串重新連接起來
for(String str : strings){
inputString1+=str;
}
//以table為分隔符分割字元串
strings=inputString.split(" ");
//將分割後的字元串重新連接起來
String inputString2="";
for(String str : strings){
inputString2+=str;
}
String returnString="";
for (int i = 0; i < inputString2.length(); i++) {
digit[inputString.charAt(i)-'!']++;
//將重復的字元輸出,這里為什麼是2呢有人會問重復次數也可以大於2啊?
//是因為大於2的在2的時候已經被輸出,為了避免重復次數大於2的字元被重復輸出,所以這里只能是2
if(digit[inputString.charAt(i)-'!']==2){
returnString+=inputString.charAt(i);
}
}
System.out.print(returnString);
}
}
樓主算是問對人了
馬上給答案
樓主雖然我這個最終目的不是統計每個字元的個數,但是代碼裡面已經實現了這個功能,只要稍作修改就可以,我的主要功能是輸出重復的字元!
希望我給的代碼樓主還滿意
Ⅳ java統計串中字元個數的代碼解釋
整個代碼就是為了統計字元串中各個字元出現的個數
Map
result
=
getCharMaps(s);
這個方法調用
主要是看這個方法
public
static
Map
getCharMaps(String
s)
{
Map
map
=
new
HashMap();
//定義一個map
for(int
i
=
0;
i
<
s.length();
i++)
{
//
下面的代碼主要是循環字元串,一次取出每一個字元
Character
c
=
s.charAt(i);
//獲取對應的字元
Integer
count
=
map.get(c);
//獲取字元對應出現的次數
map.put(c,
count
==
null
?
1
:
count
+
1);
//如果之前出現過,則加1,否則直接賦1
}
return
map;
//返回最終的map
}
Ⅵ java統計串中字元個數的代碼解釋
整個代碼就是為了統計字元串中各個字元出現的個數
Map<Character, Integer> result = getCharMaps(s); 這個方法調用
主要是看這個方法
public static Map<Character, Integer> getCharMaps(String s) {
Map<Character, Integer> map = new HashMap<Character, Integer>(); //定義一個map
for(int i = 0; i < s.length(); i++) { // 下面的代碼主要是循環字元串,一次取出每一個字元
Character c = s.charAt(i); //獲取對應的字元
Integer count = map.get(c); //獲取字元對應出現的次數
map.put(c, count == null ? 1 : count + 1); //如果之前出現過,則加1,否則直接賦1
}
return map; //返回最終的map
}