我想生成不重复的随机数,我得到了这段代码
ArrayList<Integer> numbers = new ArrayList<Integer>();
Random randomGenerator = new Random();
int random = randomGenerator.nextInt(16)+1;
if (!numbers.contains(random))
{
numbers.add(random);
}
我想使用此代码生成一个随机 ID,以选择要从数据库中显示的问题。当我回答这个问题时,它应该生成一个新的随机 ID。但是如果我把上面所有的代码都用了,数组就变成了一个新的,它就不知道之前生成的id是什么了。
如果我把 ArrayList<Integer> numbers = new ArrayList<Integer>();
在 onCreate
和 public int random()
中的其他代码, numbers
无法读取我在 onCreate
上创建的数组.
我想问一下,我可以创建ArrayList<Integer>
吗?作为一个公共(public)数组,所以我应该在 onCreate
上声明一次方法和整个类都可以使用这个数组。
最佳答案
您可以在 onCreate 方法外声明 ArrayList 并在该方法内初始化它。
然后愉快地在你的 Activity 中使用它。
所以,这个:
ArrayList<Integer> numbers = new ArrayList<Integer>();
在你的代码中,在类声明之后(在你的类中的第一个 {
之后)
还有这个:
Random randomGenerator = new Random();
int random = randomGenerator.nextInt(16)+1;
if (!numbers.contains(random))
{
numbers.add(random);
}
可以放在你的onCreate方法中
关于android - 使用数组作为公共(public)数组来保存随机数生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20936762/