Java生成不重復的隨機數


public class test {

     public static int[] Randoms(int number) {

           Random rand = new Random(); //創建一個新隨機數生成器
           int nu[] = new int[7];   //創建一個7位的數組,主要是保存結果,我需要7個不重復的隨機值
           boolean[] bool = new boolean[number + 1];  #+1是因為在下面隨機數中我為了避開傳入的數,不從0開始,所以+1,如果現在這里不加1,會提示越界
           int randint = 0;
           for (int i = 0; i < 7; i++) {
                do {
                     randint = rand.nextInt(number) + 1;  生成給定的隨機數
                } while (bool[randint]);   #是否已經生成數字,    bool[randint] 默認是false,如果狀態已經設置為了true,不進入狀態,有執行do
                bool[randint] = true;   //狀態設置為true 
                nu[i] = randint;
           }
           return nu;

     }

     public static void main(String[] args) {
           int str[] = Randoms(11);
           for (int i : str) {
                System.out.println(i);
           }

     }
}




 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM