国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 用Java產生100個1-150間不重復數字

用Java產生100個1-150間不重復數字

2020-08-17 14:48Java教程網 Java教程

這篇文章主要介紹了用Java產生100個1-150間不重復數字,需要的朋友可以參考下

核心代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import java.util.Arrays;
 
/**
 * 用Java產生100個1-150的數字
 */
public class RandomTest {
 
    public static void main(String[] args) {
        int[] resultArr = produceNum(1, 150, 100);
        for (Integer num : resultArr) {
            System.out.println(num);
        }
        
        System.out.println("+++++++++++++++++===================+++++++++++++");
        
        // 對結果數組排序后再輸出
        Arrays.sort(resultArr);
        for (Integer num : resultArr) {
            System.out.println(num);
        }
    }
 
    /**
     * 產生隨機數字
     * @param minNum 最小數字
     * @param maxNum 最大數字
     * @param numCount 產生的數字個數
     * @return 結果數組
     */
    public static int[] produceNum(int minNum, int maxNum, int numCount) {
        
        // 入參校驗
        // 如果隨機數的個數大于產生隨機數的范圍;或最大數小于最小數
        // 直接返回null,說明入參不符合要求
        if (numCount > (maxNum - minNum + 1) || maxNum < minNum) {
            return null;
        }
        
        // 存放結果的數組
        int[] resultArr = new int[numCount];
        
        // count 記錄已產生的隨機數的個數
        int count = 0;
        
        while(count < numCount) {
            
            // 產生隨機數
            int num = (int) (Math.random() * (maxNum - minNum)) + minNum;
            
            // flag 定義本次產生的隨機數是否已在數組中
            boolean flag = true;
            
            // 遍歷數組中已產生的隨機數
            for (int i=0; i<count; i++) {
                
                // 同本次產生的隨機數最比較
                if (num == resultArr[i]) {
                    
                    // 如果已存在相同的值,則跳出for循環,繼續外層的while循環,產生下一個隨機數
                    flag = false;
                    break;
                }
            }
            
            // 如果本次產生的隨機數在數組中不存在,則將該隨機數存放在數組中
            if (flag) {
                resultArr[count] = num;
                
                // 數組中已產生的隨機數個數加1
                count++;
            }
        }
        
        return resultArr;
    }
}

代碼解讀

1 int num = (int) (Math.random() * (maxNum - minNum)) + minNum;
Math.random() 產生的是0~1 之間的double類型的隨機數
Math.random() * 10 便會得到 0 ~ 10 之間的隨機數,轉int后便是0 ~ 9;如果給 Math.random() * 10 + 1,便是1 ~ 11 之間的隨機數,轉int便是1 ~ 10。
這里的1 相當于程序中的最小值,11則為最大值。
這樣便得到了產生隨機數的 (int) (Math.random() * (maxNum - minNum)) + minNum

2 for (int i=0; i<count; i++) {
由于每次產生的num都是隨機的,所以無法保證重復的問題,所以只有通過去同已經產生的存在數組中的數字去比較,相同,則重新產生,不同,則添加進數組。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲欧美日韩精品久久亚洲区 | 亚洲精品久久久久久久久久吃药 | 国产精品国产 | 亚洲免费精品 | 亚洲福利网站 | 国产在线观看一区 | 日韩中文字幕av | 91免费在线 | 精品国产乱码久久久久久牛牛 | 精品视频久久久 | 国产精品久久 | 欧美日本精品 | 久久久精品免费视频 | 香蕉av影院 | 成人片网址 | 久久久久综合 | 日本一区二区三区视频免费看 | 国产精品尤物麻豆一区二区三区 | 亚洲精品一| 欧美在线综合 | 国产资源在线免费观看 | 精品国产91乱码一区二区三区 | 国产精品毛片久久久久久 | 久久久久久久久久久久免费 | 亚洲欧美视频播放 | 国产欧美日韩一区二区三区 | 国产伦精品一区二区三区四区视频 | 97伦理在线 | 亚洲国产精品久久久 | 日韩精品一区二区三区四区 | 韩国av一区二区 | 久久99精品久久久久 | 一区二区三区在线观看视频 | 久久久一区二区三区 | 国产精品污www一区二区三区 | 久久99国产精品 | xx视频在线观看 | 欧美日韩精品一区二区公司 | 男女小网站| 狠狠操狠狠操 | 久久xx |