Nul*_*ion -1 java random android
我需要在两个整数之间得到一个随机数.我正在使用此功能来获取它:
public int randInt(int min, int max) {
Random rand = new Random();
int randomNum = rand.nextInt((max - min) + 1) + min;
return randomNum;
}
Run Code Online (Sandbox Code Playgroud)
问题是,有时功能不正常,因为它给我的差异很小的数字链,例如,我用min 0和max 1000调用函数,有时我在链中得到这些值:500,500,502,500,500,500,520,530,503,500,500,501等......
有时功能正常,我得到的差异很大,例如,1,20,500,200,444,850,664等......
所以...我需要一个总是返回真实随机数的函数,有时候......
有更好的方法来实现这一目标吗?随机的最小值和最大值?
谢谢
不要Random在每次调用时重新初始化,SecureRandom如果你想要更"安全"的随机性,你可以使用它.
private static Random rand = new SecureRandom();
public int randInt(int min, int max) {
// Random rand = new Random();
int randomNum = rand.nextInt((max - min) + 1) + min;
return randomNum;
}
Run Code Online (Sandbox Code Playgroud)