我想从数组中找出重复的元素和索引号。我为此写了一个代码。它运行良好,但只有在重复元素的数量超过 2 时才无法生成准确的输出。我从文件中读取值,然后构建一个数组,然后从该数组中搜索重复元素。
import java.io.File;
import java.util.Arrays;
import java.util.Scanner;
public class T1 {
public static void main(String args[]) throws Exception{
Scanner x=new Scanner(new File("C:\\Duplicate_array.txt"));
int [] duplicate_data=new int[9];
int i1=0;
while(x.hasNext()){
int a=x.nextInt();
duplicate_data[i1]=a;
i1++;
}
System.out.println(Arrays.toString(duplicate_data));
for (int i = 0; i < duplicate_data.length-1; i++) {
for (int j = i+1; j < duplicate_data.length; j++) {
if ((duplicate_data[i] == duplicate_data[j]) && (i != j)) {
System.out.println("Duplicate Element : "+duplicate_data[j]);
System.out.println("Index of that duplicate element : "+j);
}
}
}
}
}
这是我的输出:
[5, 6, 1, 6, 9, 5, 2, 1, 5]
Duplicate Element : 5
Index of that duplicate element : 5
Duplicate Element : 5
Index of that duplicate element : 8
Duplicate Element : 6
Index of that duplicate element : 3
Duplicate Element : 1
Index of that duplicate element : 7
Duplicate Element : 5
Index of that duplicate element : 8
最后一行错误。它已经在开始的位置找到 5:8。但在程序结束时它再次搜索 5 并给出位置编号。最后的搜索是不必要的。如何摆脱最后一次搜索?
PIPIONE
小唯快跑啊
叮当猫咪
相关分类