题目: 输入一整数n(n>=1),然后将随后输入的n个整数存入一整型数组;
显示该整型数组所有元素;
然后删除数组中多余的重复元素,重复数组元素中只保留第一个元素,
比如数组中存在3个整数5,下标分别为2,9和12,
则删掉下标为9和12的元素,后面元素顺次前移。
最后显示已删除多余的重复元素的整型数组所有元素。
package arr;
import java.util.Scanner;
/*
* 题目:
* 输入一整数n(n>=1),然后将随后输入的n个整数存入一整型数组;
显示该整型数组所有元素;
然后删除数组中多余的重复元素,重复数组元素中只保留第一个元素,
比如数组中存在3个整数5,下标分别为2,9和12,
则删掉下标为9和12的元素,后面元素顺次前移。
最后显示已删除多余的重复元素的整型数组所有元素。
*/
public class E18104426蒋家仪05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数n:");
int n = scanner.nextInt();
System.out.println("请输入n个整数:");
int[] arr = new int[n];
for (int i = 0; i < arr.length; i++) {
arr[i] = scanner.nextInt();
}
//显示该整型数组所有元素
System.out.print("原数组:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
//查重
for (int i = 0; i < n-1; i++) {
for (int j = i+1; j < n; j++) {
if (arr[i] == arr[j]) {
//如果重复
//下标前移
for (int k = i; k < n-1; k++) {
arr[k] = arr[k+1];
}
n--;//数组总长度-1
j--;//由于下标前移,所以用来比较的a[j]也要前移,否则中间会漏掉一个比不到
}
}
}
//显示已删除多余的重复元素的整型数组
System.out.print("现数组:");
for (int i = 0; i < n; i++) {
System.out.print(arr[i]+" ");
}
scanner.close();
}
}
/*运行结果:
* 请输入一个整数n:
5
请输入n个整数:
1 1 2 3 4
原数组:1 1 2 3 4
现数组:1 2 3 4
*/