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
*/