Heim  >  Artikel  >  Java  >  So generieren Sie in Java n verschiedene Zufallszahlen innerhalb eines bestimmten Intervalls

So generieren Sie in Java n verschiedene Zufallszahlen innerhalb eines bestimmten Intervalls

王林
王林Original
2019-11-25 11:47:083555Durchsuche

So generieren Sie in Java n verschiedene Zufallszahlen innerhalb eines bestimmten Intervalls

Implementierungsmethode:

Definieren Sie zunächst ein Array mit einer Länge von n und beginnen Sie dann mit der Verwendung einer While-Schleife, um Zufallszahlen zu generieren und dem Array Werte zuzuweisen . Bevor Sie Werte zuweisen, müssen Sie das Array durchlaufen. Wenn die Werte gleich sind, generieren Sie Zufallszahlen ohne Zuweisung von Werten und führen Sie eine Schleife durch, bis alle definierten Arrays zugewiesen sind.

Beispiele sind wie folgt:

 /**
    * 功能:产生min-max中的n个不重复的随机数
    * 
    * min:产生随机数的其实位置
    * mab:产生随机数的最大位置
    * n: 所要产生多少个随机数
    *
    */
    public static int[] randomNumber(int min,int max,int n){
        //判断是否已经达到索要输出随机数的个数
        if(n>(max-min+1) || max <min){
            return null;
        }
        int[] result = new int[n]; //用于存放结果的数组

        int count = 0;
        while(count <n){
            int num = (int)(Math.random()*(max-min))+min;
            boolean flag = true;
            for(int j=0;j<count;j++){
                if(num == result[j]){
                    flag = false;
                    break;
                }
            }
            if(flag){
                result[count] = num;
                count++;
            }
        }
        return result;
    }

Empfehlung für Java-Lernvideos: Einführung in die Java-Entwicklung

Mit den Eigenschaften von Set können Elemente nicht wiederholt werden

/**
     * 功能:随机指定范围内N个不重复的数
     * 
     * @param min 指定范围最小值
     * @param max 指定范围最大值
     * @param n 随机数个数
     */
    public static int[] randomSet(int min, int max, int n) {
        Set<Integer> set = new HashSet<Integer>();
        int[] array = new int[n];
        for (; true;) {
            // 调用Math.random()方法
            int num = (int) (Math.random() * (max - min)) + min;

            // 将不同的数存入HashSet中
            set.add(num);
            // 如果存入的数小于指定生成的个数,则调用递归再生成剩余个数的随机数,如此循环,直到达到指定大小
            if (set.size() >= n) {
                break;
            }
        }
        int i = 0;
        for (int a : set) {
            array[i] = a;
            i++;
        }
        return array;
    }

Fügen Sie zuerst die generierten Zufallszahlen in die Menge ein und bestimmen Sie dann die Größe der Menge. Wenn sie die erforderliche Länge nicht überschreitet, fahren Sie mit der Schleife fort und verlassen Sie die Schleife die Menge in ein Array.

Weitere Artikelempfehlungen zum Thema Java: Einführung in die Java-Sprache

Das obige ist der detaillierte Inhalt vonSo generieren Sie in Java n verschiedene Zufallszahlen innerhalb eines bestimmten Intervalls. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:So installieren Sie JavaNächster Artikel:So installieren Sie Java