[英]How can I get rid of duplicates in this Java code?
如何使此代碼中沒有任何重復數字?
我想要做的就是讓它不會在這個小塊中輸出任何重復項。
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]);
您的代碼按升序對 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));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.