明明的随机数

来源:互联网 发布:伤感好听的网络歌曲 编辑:程序博客网 时间:2024/06/13 05:47

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。

代码:

1:使用java api
import java.util.*;
public class Main {
   public static void getNum(){
       Scanner input = new Scanner(System.in);
       int num = input.nextInt();
       Set<Integer> set = new HashSet<Integer>();
       for(int i=0;i<num;i++){
           set.add(input.nextInt());
       }
       Iterator it = set.iterator();
       int[]array = new int[set.size()];
       int i=0;
       while(it.hasNext()){
           array[i] = (Integer)it.next();
           ++i;
       }
       Arrays.sort(array);
       for(Integer num1:array){
           System.out.println(num1);
       }
   }
    public static void main(String[]args){
        Main.getNum();


    }
}

第二种解决办法

import java.util.Iterator;
import java.util.Scanner;
import java.util.TreeSet;


public class Main {
   public static void getNum(){
      Scanner input = new Scanner(System.in);
       int num = input.nextInt();
       TreeSet<Integer> treeSet = new TreeSet<Integer>();//treeSet 既去重又排序
       for(int i=0;i<num;i++){
           treeSet.add(input.nextInt());
       }
       Iterator it = treeSet.iterator();
       while (it.hasNext()){
           System.out.print(it.next());
       }
   }
    public static void main(String[]args){
        Main.getNum();


    }
}

原创粉丝点击