我正在尝试设置我的活动,以便我可以从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方法中生成数字,它当然可以正常工作。我该如何解决这个问题?
答案 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);