Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中生成没有重复值的随机数数组_Java_Arrays_Random_Numbers - Fatal编程技术网

如何在java中生成没有重复值的随机数数组

如何在java中生成没有重复值的随机数数组,java,arrays,random,numbers,Java,Arrays,Random,Numbers,我想生成一个没有重复项的随机数数组。我的阵法有固定的怒气。我将生成随机数(0-4),所以我想要这样的数组 (0,3,1,4,2)或(3,2,4,0,1)类似于在该范围内以随机顺序排列的某物。我的代码没有错误。但是我没有得到我想要的输出 import java.util.Random; public class randNumArr { public static void main(String[] args) { int arr[] = {-1, -1, -1, -

我想生成一个没有重复项的随机数数组。我的阵法有固定的怒气。我将生成随机数(0-4),所以我想要这样的数组 (0,3,1,4,2)或(3,2,4,0,1)类似于在该范围内以随机顺序排列的某物。我的代码没有错误。但是我没有得到我想要的输出

import java.util.Random;

public class randNumArr {

    public static void main(String[] args) {
        int arr[] = {-1, -1, -1, -1, -1};

        Random rd = new Random();
        int i = 0;
        int val;
        while (i < 5) {
            if (arr[i] == -1) {
                val = rd.nextInt(4);
                for (int d = 0; d < arr.length; d++) {

                    if (arr[i] == val) {
                        // break;
                    } else {
                        arr[i] = val;
                        break;
                    }
                }
                i++;
            }


        }

        /*Printing the array*/
        for (int n = 0; n < arr.length; n++) {
            System.out.print(arr[n] + " ");
        }

    }

}
import java.util.Random;
公共级兰德努马尔{
公共静态void main(字符串[]args){
int arr[]={-1,-1,-1,-1};
随机rd=新随机();
int i=0;
int-val;
而(i<5){
如果(arr[i]=-1){
val=第四大道(4);
对于(int d=0;d
尝试将行中的i替换为d

if (arr[d]==val) {
那就应该成功了