求助各位大神
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("請輸入雙隨機(jī)的數(shù)量:");
? ? ? int n=input.nextInt();
? ? ? System.out.print("請輸入隨機(jī)庫的數(shù)量:");
? ? ? int num=input.nextInt();?
? int i=1;
? while(i<=n) {
? int ran=random.nextInt(num);
? System.out.println("抽取第"+(i)+"個(gè)編號為:"+ran);
? i++;
? }
? ? }
}
以上代碼是手動(dòng)輸入庫的數(shù)量,再輸入需要隨機(jī)生成的數(shù)量,最后生成出來,但是生成出來的數(shù)會出現(xiàn)重復(fù),請問如何實(shí)現(xiàn)隨機(jī)生成不重復(fù)的數(shù)字?
2019-03-26
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]+"???");???? ????????????????}???? ????????}???? }