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++;
}
}
}
以上代码是手动输入库的数量,再输入需要随机生成的数量,最后生成出来,但是生成出来的数会出现重复,请问如何实现随机生成不重复的数字?
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]+" "); } } }