如何让此代码中没有任何重复数字?
我想做的就是让它不输出任何重复
在这个小街区。
int[] arr = {5,10,44,2, 44,44,5,10,44,2, 44,44};
int startScan;
int index;
int minindex;
int minValue;
for (startScan=0;startScan<(arr.length-1);startScan++){
minindex=startScan;
minValue =arr[startScan];
for (index=startScan+1; index<arr.length;index++){
if (arr[index]<minValue){
minValue=arr[index];
minindex=index;
}
}
arr[minindex]=arr[startScan];
arr[startScan]=minValue;
}
for(int x=0; x<arr.length;x++)
System.out.println(arr[x]);
答案 0 :(得分:0)
您的代码按升序对int数组进行排序。如果你在你的问题中提到了这一点,那就太好了,而不是让其他人花时间搞清楚。
删除重复项需要一些额外的代码。
以下是测试运行的结果。
[2, 5, 10, 44]
这是您的代码的修订版本。它是可运行的,因此您可以复制代码并将其粘贴到IDE中。
package com.ggl.testing;
import java.util.Arrays;
public class RemoveDuplicates {
public static void main(String[] args) {
int[] arr = { 5, 10, 44, 2, 44, 44, 5, 10, 44, 2, 44, 44 };
int masterIndex = 0;
for (int startScan = 0; startScan < (arr.length - 1); startScan++) {
int minindex = startScan;
int minValue = arr[startScan];
for (int index = startScan + 1; index < arr.length; index++) {
if (arr[index] < minValue) {
minValue = arr[index];
minindex = index;
}
}
arr[minindex] = arr[startScan];
arr[startScan] = minValue;
if (arr[masterIndex] < minValue) {
arr[++masterIndex] = minValue;
}
}
int[] newarr = Arrays.copyOf(arr, masterIndex + 1);
System.out.println(Arrays.toString(newarr));
}
}