【发布时间】:2017-07-08 15:20:55
【问题描述】:
我是 Java 新手,我正在处理数组排序问题,但我遇到了这个问题。搜索了类似或重复的帖子,但似乎没有找到。
问题是“在一个数组中找到最相同的相邻元素并将它们写入一个新数组”。
我的问题是。 如何将出现次数最多的相邻元素存储在另一个数组中的数组中?
这就是我到目前为止所提出的。
int[] arr= {2, 1, 1, 3, 3, 2, 2, 2, 2, 1 ,1}; //test array
int counter=0;
int i = 0;
int length = arr.length;
int[] resultArr=new int[length];
for (i=1; i<length; i++)
{
if (arr[i-1]==arr[i])
{
counter++; // Counter to represent maximal adjacent occurred elem.
resultArr[i] = arr[i] //Writing elements in result array
}
}
System.out.println(counter);
System.out.println(resultArr);
Input: It is the test array "arr"
Output 1 : Shoud be 4 representing the maximum of same adjacent elements ( i.e the 2's in the array )
Output 2 : Must be an array that contains the 4 elements of the array ({2, 2, 2 ,2} )
我的输出是(直接来自控制台)
1
[我@6d06d69c
【问题讨论】:
-
你有什么问题?为什么会输出“[I@6d06d69c”或其他内容?
-
什么是最大计数器?您是否尝试过使用调试器逐行遍历代码并了解您做错了什么?
-
@JBNizet 提到使用调试器。学习使用调试器比输入和格式化帖子以及等待答案花费更少的精力
-
听起来像 Homeworks :D,如果是这样,你必须尝试自己解决它
-
@EbrahimPoursadeqi 一点也不。一个月前,我的学期结束了。我这样做是为了我自己。我正在读一本书并解决它之后的问题。