我正在安装Android工作室的测验应用程序..
我现在尝试使用此代码创建数字(带有重复项):
Random rand = new Random();
n = rand.nextInt(QuestionLibrary.mChoices.length) + 1;
这是我游戏的照片
答案 0 :(得分:0)
如果你没有多少号码,你可以制作一个包含所有这些号码的集合,随机播放,然后从中逐一取出。 如果你有很多数字,那么更好的方法是创建一个空集合并添加随机函数返回的每个数字(如果它已经不存在)。如果已经存在数字,则获取另一个,依此类推。
请在此处阅读更多内容: https://stackoverflow.com/a/4040014/7270175
编辑:添加了代码片段,可以复制MAX个不同的随机数而无需重复。
private static int MAX = 1000;
private static boolean[] numbers;
public static void main(String[] args) {
Random generator = new Random();
numbers = new boolean[MAX + 1];
for (int i = 0; i < MAX; i++) {
System.out.println(getRandomWithoutDuplicates(generator));
}
}
private static int getRandomWithoutDuplicates(Random generator) {
int randomNum;
do {
randomNum = generator.nextInt(MAX);
} while (numbers[randomNum]);
numbers[randomNum] = true;
return randomNum;
}