1.

数组是允许有重复元素的,我们可能会面临一个需求,统计容器中重复元素出现的次数。想要统计重复元素的个数,我们需要经历一下几个步骤

1.遍历数组arr 取出每一个元素

2.遍历数组arr2 , 判断 从arr取出的元素是否在 arr2 中出现过。

有出现过 : 代表元素已经统计过次数,不需要再次统计,跳过当前循环

没有出现过:没有统计,开始统计

3.用arr 取出的元素和 (arr)数组中每一个元素作比较 , 如果有一样,就记录次数,

一轮比较完成后输出 元素 和 重复的次数,每次统计一个元素需要记录下来;

2.

  代码实现:

public class RecordTheNumberOfRepetitions {
    public static void main(String[] args) {
        String[] arr = new String[20];
        String[] arr2 = new String[20];
        //index 作为arr2储存元素的索引
        int index = 0;
        for (int i = 0; i < arr.length; i++) {
            arr[i] = (char) ((int) (Math.random() * 26) + 65) + "";
        }
        System.out.println(Arrays.toString(arr));
        //遍历整个数组取出每一个元素
        for (String str : arr) {
            boolean flag = false;
            //先判断元素是否已经比较过
            for (int i = 0; i < arr2.length; i++) {
                if (str.equals(arr2[i])) {
                    flag = true;
                    break;
                }
            }
            if (flag) {//跳过当前循环,进入下一轮循环
                continue;
            }
            //str就是数组中的每个元素
            //需要用str和数组中的元素作比较
            int count = 0;
            for (int i = 0; i < arr.length; i++) {
                //String类型判断是否相同需要用equals;
                if (str.equals(arr[i])) {
                    count++;
                }
            }
            //记录统计过的元素
            arr2[index++] = str;
            //最后输出元素和元素重复的次数
            System.out.println(str + "出现了" + count + "次");
        }
    }
}

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐