让我首先说一个我遇到麻烦的家庭作业问题。
我已经对一个数组进行了排序,我需要做的是使用另一个数组通过迭代第一个数组并比较相邻项然后将非重复项添加到新数组来删除重复项。完成后,我将旧数组 = 设置为新数组。我不习惯 java,因此我遇到了一些我认为正确设置迭代的问题。
public static void main(String[] args) {
args = new String[] { "data/list1.txt" };
StdIn.fromFile("data/list2.txt");
// StdOut.toFile ("finished.txt");
int[] whitelist = In.readInts(args[0]);
Arrays.sort(whitelist);
int newArray[] = new int[whitelist.length];
for (int i = 0; i < whitelist.length-1; i++) {
int k = 0;
if(whitelist[i+1] > whitelist[i])
newArray[k] = whitelist[i];
k++;
StdOut.println(java.util.Arrays.toString(whitelist));
whitelist = newArray;
}
for (int i=0; i<newArray.length;i++){
StdOut.println(java.util.Arrays.toString(newArray));
}
这段代码是更大的二进制搜索的一部分,但这是我遇到问题的部分。
我的输出除了没有删除重复项外还打印了好几次。
任何方向将不胜感激。