获取[x , y]范围内的随机数
方法一:x + RandomReference.nextInt( y - x + 1)
public static void main(String[] args) {
System.out.println("说明:生成10个[10,100]的随机数");
Random r = new Random();
int[] arr = new int[10];
for (int i = 0; i < arr.length; i++) {
arr[i] = 10 + r.nextInt(91);
}
System.out.println("生成的10个随机数如下:\n" + Arrays.toString(arr));
}
代码结果:
不包括左临界则( x , y ]
x + 1 + RandomReference.nextInt( y - x )
不包括右临界则[ x , y )
x + RandomReference.nextInt( y - x )
方法二:(int)(x + RandomReference.nextFloat () * ( y - x + 1))
nextFloat()不包括1.0
public static void main(String[] args) {
System.out.println("说明:生成10个[10,100]的随机数");
Random r = new Random();
int[] arr = new int[10];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int) (10 + r.nextFloat() * 91);
}
System.out.println("生成的10个随机数如下:\n" + Arrays.toString(arr));
}
代码结果:
不包括左临界则( x , y ]
(int)(x + 1 + RandomReference.nextFloat () * ( y - x ))
不包括右临界则[ x , y )
(int)(x + RandomReference.nextFloat () * ( y - x ))