生成1000以内不重复的随机数

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

sunjelly

2015-07-09 22:13

public void randomThird(){

int i = 1;

Random random = new Random();

int[] id =new int[3];

id[0]=random.nextInt(1000);

while(i<3){

if(id[i] != random.nextInt(1000)){

id[i] = random.nextInt(1000);

}else{

continue;

i++;

}

for (int j : id) {

System.out.println(j);

}

}



写回答 关注

4回答

  • 怒放的生命012
    2016-06-12 20:51:45

    楼主这样做不对,你这样生成的只是相邻的两个随机数不会相同,如果不相邻还是会可

    能相同的;

    楼主可以参考下:

    package project;


    import java.util.Random;


    public class Test {

         public static void main(String[] args) 

         {

    int a[] = new int[10];

    int i = 0;

    Random random = new Random();

    while(i < 10){

    int m = 0;

    a[i] = random.nextInt(100);

    for(int j = 0;j <= i;j++)

    if(a[i] == a[j]){

    m = 1;

    break;

    }

    if(m == 1)

    continue;

    i++;

    }

            for (int j : a) {

    System.out.println(j);

     }

         }

    }


  • qq__3360
    2016-02-16 17:02:19

    public void randomThird(){

    Random random = new Random();

    int a=random.nextInt(1000);

    System.out.println(a);

    int i=1;

    while(i<3){

    int k=random.nextInt(1000);

    if(a!=k&&k!=0){

    System.out.println(k);

    }else{

    continue;

    i++;

    }

    }


  • ZhengYQ
    2015-08-17 16:27:01

    互相学习

  • ZhengYQ
    2015-08-05 19:09:18

    楼主,你的third()方法好像有点问题...你把代码中的“1000”改为“10”,运行会出现重复数字!

    sunjel...

    恩,确实,应该定义一个变量保存random.nextint(1000)的值,在赋值给id【i】,见笑了啊

    2015-08-17 15:47:21

    共 1 条回复 >

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题