在oncreate方法之外生成随机数

时间:2013-04-23 03:36:21

标签: android methods random static

我正在尝试设置我的活动,以便我可以从onCreate方法之外的方法生成一组随机数。以下是我的活动设置方式......

public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  this.optionOne();
  this.optionTwo();
  this.optionThree();
}

public void optionOne() {
  // generate a random number here
  int random = Math.random();

  // generate more random numbers and do more stuff here
} 

问题是,我在onCreate方法之外生成的任何随机数都被认为是“静态”,数字总是0.如果我在onCreate方法中生成数字,它当然可以正常工作。我该如何解决这个问题?

4 个答案:

答案 0 :(得分:2)

private static Random ranGenerator=new Random();

将其声明为班级成员 然后随时拨打ranGenerator.nextInt()即可获得它。

答案 1 :(得分:1)

要生成随机数使用,这将在特定范围

之间创建随机数
public void optionOne() {
   var=(int)(Math.random() * (max - min) + min)    //math.random will return integer values 
  // use your var wisely
} 

答案 2 :(得分:0)

使用

Random rand = new Random(); 
int random = rand.nextInt();

int random = rand.nextInt(range);

根据文件here

Math.random() Returns a pseudo-random double n, where n >= 0.0 && n < 1.0.

答案 3 :(得分:0)

这将帮助您创建非重复随机数的数组列表

 ArrayList<Integer> indexArray = new ArrayList<Integer>();
    for (i = 0; i < 202; ++i) {
                number.add(i);
                // number.add(num);
            }
            Collections.shuffle(number);