问答详情
源自:-

求助各位大神

package com.linxueshan;

import java.util.Scanner;

import java.util.Random;

public class HelloWorld {


public static void main(String[] args) {

Random random=new Random();

      Scanner input=new Scanner(System.in);

      System.out.print("请输入双随机的数量:");

      int n=input.nextInt();

      System.out.print("请输入随机库的数量:");

      int num=input.nextInt(); 

  int i=1;

  while(i<=n) {

  int ran=random.nextInt(num);

  System.out.println("抽取第"+(i)+"个编号为:"+ran);

  i++;

  }

    }

}


以上代码是手动输入库的数量,再输入需要随机生成的数量,最后生成出来,但是生成出来的数会出现重复,请问如何实现随机生成不重复的数字?


提问者:慕丝9243639 2019-03-26 12:33

个回答

  • 银河玛嘉烈
    2019-03-26 13:16:00

    import   java.util.*;    
    public   class   Test    
    {    
               
            public   static   void   main(String[]   args)    
            {    
                    LinkedList <Integer>   myList=   new   LinkedList <Integer> ();    
                    int   n=40;    
                    for(int   i=0;i <n;i++)    
                            myList.add(i+1);    
                    int[]   arr   =   new   int[10];    
                    for(int   i=0;i <arr.length;i++)    
                    {    
                            arr[i]=myList.remove((int)(Math.random()*n));    
                            n--;    
                    }    
                    for(int   i=0;i <arr.length;i++)    
                    {    
                            System.out.print(arr[i]+"   ");    
                    }    
            }    
    }