明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
Input Param
n 输入随机数的个数
inputArray n个随机整数组成的数组
Return Value
OutputArray 输出处理后的随机整数
注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。
输入描述:
输入多行,先输入随机整数的个数,再输入相应个数的整数
输出描述:
返回多行,处理后的结果
输入例子1:
11 10 20 40 32 67 40 20 89 300 400 15
输出例子1:
10 15 20 32 40 67 89 300 400
package com.huawei.practice002; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Scanner; /** * @author Allen * @version 创建时间:2017年9月11日 下午9:00:11 * 类说明: */ public class Suijishuofmingming { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); do{ int n=0,m=0,i=0; List<Integer> list=new ArrayList<Integer>(); n=scanner.nextInt(); for(i=0;i<n;i++) { m=scanner.nextInt(); if(!(list.contains(m))){ list.add(m); } } Collections.sort(list); Iterator<Integer> iterator=list.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } }while(!(scanner.hasNext("a"))); } }
考虑到题目是输入多组用例,所以在输入每组用例之前,就应该将每组用例相关的变量初始化,以防止影响下组用例运算的结果。
例如:
每组用例都应该创建一个List,防止用例之间相互影响。不应该把创建List对象的语句放到do循环外边。