1、題目:統計此字符串中 0-9 每個數字的出現次數
2、思路
字符串轉存到字符數組,遍歷數組中字符對比 0-10 unicode 編碼,記錄數組中數子出現的次數。
出現次數存放在一個新的整數型數組中長度為10,下標索引可表示數字 0-9 ,其中對應下標存儲的數值即為數字出現的字數。(如counter[0]值為3,表示 0 出現的次數為3)
遍歷存放數字出現次數的整形數組即可。
3、題解
public class Code1 {
//統計此字符串中 0-9 每個數字的出現次數
public static void main(String[] args) {
String s = "~asd;4#1er&67qwe234#1&3sdBd1d1,@3ret#1&56ghk123#1A&34D";
int[] counter = new int[10]; //將各個數字出現的次數存儲在數組counter中
char[] s1 = s.toCharArray(); //將字符串轉換成字符數組
for(int i = 48 ; i < 58; i++) { //unicode編碼:0~9
int a = 0;
for(int j = 0; j < s1.length; j++) {
if(i == s1[j]) {
a ++; //遍歷,將i從0 ~ 9中進行遍歷記錄次數
}
}
counter[i - 48] = a;
}
for(int i = 0; i < counter.length; i++) {
//遍歷並打印獲取的數字出現的次數
System.out.println(i + "出現的次數為;" + counter[i]);
}
}
}
/**
0出現的次數為;0
1出現的次數為;7
2出現的次數為;2
3出現的次數為;5
4出現的次數為;3
5出現的次數為;1
6出現的次數為;2
7出現的次數為;1
8出現的次數為;0
9出現的次數為;0
*/