A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


/**
* 有如下数组int[ ] arr = {32,11,77,22,11,77}; 写代码, 生成一个新的数组,这个新的数组,只包含重复的元素极其个数,
* 也就是{“11=2”, “77=2”},也就是说,11有2个,77有2个
*
*/
public class Test4 {
        public static void main(String[] args) {
                int[] arr = { 32, 11, 77, 22, 20, 11, 77, 77, 11, 32 };
                int[] temp = new int[arr.length];
                System.out.print("{");
                for (int i = 0; i < arr.length; i++) {
                        int b = 1;
                        for (int a = i + 1; a < arr.length; a++) {
                                if (arr[i] == arr[a]) { // 遍历比较重复数为true
                                        arr[a] = 0;// 当为重复的数时,赋值0
                                        b++;// 重复记数
                                }
                        }
                        if (arr[i] != 0) { // 判断当遍历时 不等于0时为true
                                temp[i] = b;// 将重复的元素的记数同步写入新的数组
                        }
                        if (temp[i] > 0) { // 判断如果等于0则不输出
                                String num = arr[i] + "=" + (temp[i]);
                                System.out.print(num+",");
                        }
                }
                System.out.println("}");
        }
}

1 个回复

倒序浏览
每日一贴,净赚黑马
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马