为了账号安全,请及时绑定邮箱和手机立即绑定

求助各位大神

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 回答

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]+"   ");    
                }    
        }    
}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165462    人
  • 解答问题       17585    个

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

进入课程

求助各位大神

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信