Java-输入一整数n(n>=1),然后将随后输入的n个整数存入一整型数组;

题目: 输入一整数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
*/

猜你喜欢

转载自blog.csdn.net/weixin_45663697/article/details/105100420
今日推荐