/**
* 有如下数组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("}");
}
}
|
|