求助各位大神

来源:-

慕丝9243639

2019-03-26 12:33

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++;

  }

    }

}


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


写回答 关注

1回答

  • 银河玛嘉烈
    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]+"   ");    
                    }    
            }    
    }


Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165550 学习 · 17586 问题

查看课程

相似问题