获取随机数的方法好几种,我就不一一介绍了。
该篇想展示的是我常用的一种获取范围内随机整数的代码:
注意,展示的代码范围是 [ start , end ] ,也就基于这样已经满足我们的所有想实现的情况:
/** * [0,10] */ int start=0; int end=10; int number = new Random().nextInt(end - start + 1) + start; System.out.println(number);
使用这个代码,你只需要明确直接的取整数范围,然后传入 start和end 即可。
顺便提一下,如果你用这个代码加上for循环去实现获取多位随机数,那么你得注意了,记得把new Random() 单独提出来,
示例(获取数字键盘0~9 内的 5位随机数):
/** * [0,9] 获取 5位随机整数 */ int start=0; int end=9; StringBuffer numStr=new StringBuffer(); Random random = new Random(); for (int i=1;i<=5;i++){ numStr = numStr.append(random.nextInt(end - start + 1) + start); } System.out.println(numStr); // 例 :71250
PS:
如果是想获取的整数不包括0,(0,10】?
那其实就是从1开始... 也就是 :
int start=1; int end=10;
如果是想获取的整数不包括10呢?
想获取【0,10),拿其实就是获取最大值为9......
1. int start=0; 2. int end=9;