【发布时间】:2015-11-30 03:27:30
【问题描述】:
我如何实现一个整数随机数,它可以只生成每个数字一次但不重复。我在 Android 中使用此代码。
int random = Random.nextInt((max+1 - min) + min;
问题:max和min之间有重复的数字,也有一些数字不存在。
【问题讨论】:
-
你需要这个做什么?无论如何,你不想使用
Random,你应该看到this post
我如何实现一个整数随机数,它可以只生成每个数字一次但不重复。我在 Android 中使用此代码。
int random = Random.nextInt((max+1 - min) + min;
问题:max和min之间有重复的数字,也有一些数字不存在。
【问题讨论】:
Random,你应该看到this post
而不是拥有一个包含所有可能值的列表(如 Derek Fung 所述)
【讨论】:
java.util.List<Integer>,只需添加这些就足够了......
你需要一个洗牌算法
https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
创建一个可能数字的数组/列表,将其随机排列,然后一次获取该数字一次
【讨论】: