明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了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循環外邊。