您的位置:首页 > 其它

明明的随机数

2017-08-30 17:04 176 查看
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了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();

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: