import java.util.Random; public class 位数随机数第二种 { public static void main(String[] args) { // 最后:调用名为 getRandomNum 的函数,输入需要的位数;并打印函数返回的结果。 System.out.println(getRandomNum(5)); } // 1.第一步:声明一个公共的静态函数"getRandomNum",返回一个long类型的值,并接收一个整型参数"len"。 public static long getRandomNum(int len) { // 2.第二步:定义数组,并初始化为包含0到9的元素。 int[] arr = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; // 3.第三步:将数组最后一个元素的索引赋给变量"last",用于后续的交换操作。 int last = arr.length - 1; // 4.第四步:声明一个整型变量"result",用于记录洗牌后生成的数值。 int result = 0; // 5.第五步:for循环遍历,变量次数通过输入的len决定 for (int i = 0; i < len; i++) { // 6.第六步:引入随机数 Random random = new Random(); // 7.第七步:定义一个index变量来存储生成的不重复的随机数 int index = random.nextInt(last) + 1; // 8.第八步: int temp = arr[last]; //将数组最后一个元素的值赋给临时变量"temp" arr[last] = arr[index]; //将随机索引位置处的元素值赋给数组最后一个元素。 arr[index] = temp; //将临时变量"temp"的值赋给随机索引位置处的元素。 result = result * 10 + arr[last]; //result 的当前值乘以10,然后再加上数组 arr 中最后一个元素的值, last--;//将"last"减1,指向当前循环的下一个位置。 } // 9.第九步:判断数组的第一个元素是否为0, if (arr[0] == 0) { Random random = new Random(); int index = random.nextInt(6) + 1; int temp = arr[0]; arr[0] = arr[index]; arr[index] = temp; } // 10.第十步:返回最终生成的随机数作为函数的返回值; return result; } }
java生成指定位数的随机数
最新推荐文章于 2023-09-12 11:03:28 发布