我想在Android中获得4的随机值(彼此不同)1到4。

我写了这样的代码。但是这些值没有什么不同。

    Random random = new Random();
    int number, idSearch[]=new int[4];
    number = random.nextInt(4);
    idSearch[0] = number;
    for (int i = 1; i < 4; i++)
    {
        number = (int) random.nextInt(4);
        for (int j = 0; j <= i; j++)
        {
            if (idSearch[j] == number) {
                number = random.nextInt(4);
            }

        }
        idSearch[i] = number;
    }


错误在哪里?你能帮助我吗?

最佳答案

我认为以随机顺序生成值从1到4(含)的List<Integer>的最简单方法是首先创建一个具有初始值的List<Integer>并对其进行混洗:

List<Integer> list = Arrays.asList(1, 2, 3, 4);

Collections.shuffle(list);

System.out.println(list);

>> [4, 1, 3, 2]


请记住,此列表不能添加或删除。

如果您希望它可变,只需将其传递给ArrayList的构造函数即可:

List<Integer> mutableList = new ArrayList<>(list);


切记导入java.util.*

关于android - 从1到4以随机顺序获取数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43793080/

10-09 06:56
查看更多