android - 使用数组作为公共(public)数组来保存随机数生成

标签 android arrays random

我想生成不重复的随机数,我得到了这段代码

    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>();onCreatepublic 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/

相关文章:

android - Surfaceflinger 的界面如何工作?

c - 将整数的每个数字提取到数组中?

python - 随机改变数字

android - 通过 Android SDK 管理器下载缓慢的 SDK

android - BillingClientImpl 中 onServiceConnected 的 ANR

arrays - 使用具有定义值的 scanf

python - 在字典数组中查找最小值

objective-c - 在 Objective-C/C 中生成随机高斯 double

postgresql - 具有随机排序行的可重复分页

安卓图库组件