Heim  >  Artikel  >  Java  >  So generieren Sie zufällige eindeutige Zahlen in Java

So generieren Sie zufällige eindeutige Zahlen in Java

尚
Original
2019-11-23 10:20:493044Durchsuche

So generieren Sie zufällige eindeutige Zahlen in Java

So generieren Sie zufällige, sich nicht wiederholende Zahlen in Java:

Generieren Sie n sich nicht wiederholende Zufallszahlen basierend auf Min und Max. (Hinweis: Bereich [min, max], n <= (max - min +1))

Idee:

0), alle möglichen Zahlen von min bis max in a einfügen Kandidatenliste;

1), generiert zufällig einen Indexindex (0 <= index <= (list.size()-1)); Zahl aus der Liste, list.get(index), und entfernen Sie das Element;

Der Code lautet wie folgt:

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class MyRandom {

    /**
     * 根据min和max随机生成一个范围在[min,max]的随机数,包括min和max
     * @param min
     * @param max
     * @return int
     */
    public int getRandom(int min, int max){
        Random random = new Random();
        return random.nextInt( max - min + 1 ) + min;
    }

    /**
     * 根据min和max随机生成count个不重复的随机数组
     * @param min
     * @param max
     * @param count
     * @return int[]
     */
    public int[] getRandoms(int min, int max, int count){
        int[] randoms = new int[count];
        List<Integer> listRandom = new ArrayList<Integer>();

        if( count > ( max - min + 1 )){
            return null;
        }
        // 将所有的可能出现的数字放进候选list
        for(int i = min; i <= max; i++){
            listRandom.add(i);
        }
        // 从候选list中取出放入数组,已经被选中的就从这个list中移除
        for(int i = 0; i < count; i++){
            int index = getRandom(0, listRandom.size()-1);
            randoms[i] = listRandom.get(index);
            listRandom.remove(index);
        }

        return randoms;
    }
}

Die Java Math.random()-Methode wird verwendet, um eine Zufallszahl zurückzugeben , Der Bereich der Zufallszahlen beträgt 0,0 =< Math.random <

Für weitere Java-Kenntnisse beachten Sie bitte das

Java-Grundlagen-Tutorial

.

Das obige ist der detaillierte Inhalt vonSo generieren Sie zufällige eindeutige Zahlen in Java. 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