package Chapter02; //统计字符数组中每个字符出现的个数 public class Test02 { public static void main(String[] args) { char [] arrs = {'a','b','b','b','a','c','a'}; //初始化需要统计字符的数组 char [] arrs1 = new char[arrs.length]; int [] num = new int [arrs.length]; int count = 0;//记录字符的种类数据 for (int i = 0; i < arrs.length; i++) { //1. 取到arrs中的一个字符(从数组中取出来的一个字符) char c = arrs[i]; //2. 去arrs1中进行判断,是否存在的判断 int index = -1; for (int j = 0; j < count; j++) { //如果进入到if说明找到相同的了,说明之前添加过该字符 if (c==arrs1[j]){ index = j; } } //3. 根据index的值判断之前是否出现过该字符(c) if (index==-1){ //说明该字符就是第一次出现 arrs1[count]=c; num[count]=1; count++; }else { //说明该字符不是第一次出现 num[index]=num[index]+1; } } //查看结果 for (int i = 0; i < count; i++) { System.out.println(arrs1[i]+"------->"+num[i]); } } } 详细解析此代码
时间: 2024-02-14 15:30:36 浏览: 69
这段代码用于统计字符数组中每个字符出现的个数。以下是对代码的详细解析:
1. 定义了一个字符数组 `arrs`,用于存储需要统计字符的数组。
2. 创建了一个与 `arrs` 数组长度相同的字符数组 `arrs1`,用于存储出现过的字符。
3. 创建了一个与 `arrs` 数组长度相同的整型数组 `num`,用于存储每个字符出现的次数。
4. 定义了一个变量 `count`,用于记录出现过的不同字符的个数。
5. 使用两个嵌套的循环进行遍历和判断。外层循环用于遍历 `arrs` 数组中的每个字符,内层循环用于判断该字符是否已经出现过。
6. 在内层循环中,通过与 `arrs1` 数组中的元素逐个比较,如果找到相同的字符,则将对应的索引赋值给变量 `index`。
7. 根据 `index` 的值判断该字符是否为第一次出现。如果 `index` 的值为 -1,说明该字符是第一次出现,则将该字符添加到 `arrs1` 数组中,并将对应的计数器 `num` 的值设为 1,同时增加 `count` 的值。
8. 如果 `index` 的值不为 -1,说明该字符不是第一次出现,则将对应的计数器 `num` 的值加 1。
9. 最后,通过遍历 `count` 数组中的元素,输出每个字符及其对应的出现次数。
该代码通过遍历字符数组,使用两个数组 `arrs1` 和 `num` 分别记录出现过的字符和对应的出现次数。通过内层循环和判断,实现了统计每个字符出现次数的功能。最终输出了每个字符及其对应的出现次数。
阅读全文