Heim > Java > JavaBase > Hauptteil

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

王林
Freigeben: 2019-11-25 11:47:08
Original
3608 Leute haben es durchsucht

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;
    }
Nach dem Login kopieren

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;
    }
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!