Home  >  Article  >  Java  >  How to generate non-repeating random numbers in java

How to generate non-repeating random numbers in java

(*-*)浩
(*-*)浩Original
2019-11-19 15:04:174299browse

How to generate non-repeating random numbers in java

In Java, if you want to make the generated random numbers non-repetitive, you can put the generated random numbers into an array, and each time a random number is generated Compare with the contents of the array to see if they are equal. If they are equal, they will be regenerated. If they are not equal, they will be stored in the array. (Recommended learning: java course)

The sample code is as follows (generating 4 unequal integers within 10):

public class Demo {
    public static void main(String[] args) {
        int[] a = new int[]{-1,-1,-1,-1};//初始化数组
        Random random = new Random();
        int count = 0;//记录有效的随机数个数
        while(count < a.length){
            boolean flag = true;//用来标志的变量
            int r = random.nextInt(10);
            for(int i=0;i<a.length;i++){
                if(r == a[i]){
                    flag = false;
                    break;
                }
            }
            if(flag){
                a[count] = r;
                System.out.println(r);
                count++;
            }
        }
    }
}

The variable flag is used to mark whether the generated random number already exists. The default value is set to true, which means it does not exist, and false, which means the random number already exists.

The above is the detailed content of How to generate non-repeating random numbers in java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:When did java come out?Next article:When did java come out?