如何生成3个不重复的1000以内的随机正整数作为学生Id

来源:6-8 学生选课--- 实现学生序列排序

天蓝色的彼岸_123

2015-06-02 16:28

如何生成3个不重复的1000以内的随机正整数作为学生Id,大家有没有好的建议啊?

写回答 关注

4回答

  • 鲜衣
    2015-07-27 22:55:51

    public void testSort4(){

    List<Student> studentList=new ArrayList<Student>();

    List<Integer> randomList=new ArrayList<Integer>();

    Random random=new Random();

    int k;

    for(int i=0;i<3;i++){

    do{

    k=random.nextInt(1000);

    }while(randomList.contains(k));

    randomList.add(k);

    }

    studentList.add(new Student(randomList.get(0)+"","luci"));

    studentList.add(new Student(randomList.get(1)+"","nibi"));

    studentList.add(new Student(randomList.get(2)+"","good"));

    System.out.println("*****排序前******");

    for(Student stu:studentList){

    System.out.println("学生"+stu.name );

    }

    System.out.println("*****排序后*********");

    Collections.sort(studentList);

    for(Student stu:studentList){

    System.out.println("学生"+stu.name+" "+stu.id);

    }

    //用new StudentComparator()来接收return的值。

    Collections.sort(studentList,new StudentComparator());

    System.out.println("****根据姓名排序*******");

    for(Student stu:studentList){

    System.out.println("根据姓名:"+stu.id+" "+stu.name);

    }

    }


    北海糖

    是不是只能用+""的形式来使整数型变成字符型呢

    2019-10-01 16:50:24

    共 1 条回复 >

  • nothingwxq
    2015-06-02 16:46:03

    hash表判断重复。。。

  • 笑与君歌
    2015-06-02 16:46:01

    3个不重复的1000以内正整数,保存在数组里然后输出出来:

    public static void main(String[] args){
        Random r=new Random();
        int[] s=new int[3];
        Boolean flag=true;
       
        s[0]=r.nextInt(1000);
        int i=1;
        while(flag&&i<3)
        {
         flag=false;
         s[i]=r.nextInt(1000); //产生0到100的随机数
         if(s[i]==s[i-1])
          break;
         else
         {
          i++;
          flag=true;
         }
        }
        for(int j=0;j<3;j++)
            System.out.println(s[j]);
        }


    Nick_a...

    你的if语句并没有什么用,和数组中上一个值相等就跳出循环了,可能连三个数都得不到。

    2015-10-07 17:05:29

    共 2 条回复 >

  • PHP_小学生
    2015-06-02 16:45:57

    循环生成3次,每生成一次和前一次的判断一次,重复的跳过。

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题