Random的nextInt()用法

简介: Random的nextInt()用法

一、先看这样一个有趣的题目:

1、设计一个密码的自动生成器:密码由大写字母/小写字母/数字组成,生成六位随机密码。

2、分别以1、2、3作为种子数创建Random对象,生成六位随机密码进行测试。

问题答案核心代码如下:

import java.util.Random;

import java.util.Scanner;

public class RandomTest {

public static void main(String[] args) {
  // 定义一个字符型数组用来存放密码数据随机取值的内容
  char[] pardStore = new char[62];
  // 把所有的大写字母放进去 
    char beg = 'A';
  for(int i=0;i<=25;i++)
    {
      pardStore[i]=beg;
        beg=(char)(beg+1);//因为相加所以数据类型会自动转换为int型,所以要强制转换为char型不然不匹配
    }
    // 把所有的小写字母放进去
    char beg1 = 'a';
    for(int i=26;i<=51;i++)
    {
      pardStore[i]=beg1;
        beg1=(char)(beg1+1);
    }
    // 把0到9放进去
    char beg2 = '0';
    for(int i=52;i<=61;i++)
    {
      pardStore[i]=beg2;
        beg2=(char)(beg2+1);
    }
  // 分别以1、2、3作为种子数 生成6位随机密码
  Scanner sc = new Scanner(System.in);
  int seed = sc.nextInt();//到时候seed等同于输入的数字1,2,3作为种子数
  Random  random = new Random(seed);
    for(int i=1 ; i<=6;i++)
    {
      int n =random.nextInt(62);//随机生成一个整数,这个整数的范围就是[0,62)
        System.out.print(pardStore[n]);
    }
}


二、nextInt()用法总结和思考

1、nextInt()用法:

会随机生成一个整数,这个整数的范围就是int类型的范围-2^31 ~ 2^31-1,但是如果在nextInt()括号中加入一个整数a那么,这个随机生成的随机数范围就变成[0,a)。

2、在题目给定数组时如何运用nextInt():

上面提出的有趣题目是给定我们一个数组并且用来存放密码的组成元素,在这种给定我们已知的密码组成范围以及用数组来包括并且非同一组成的连续数据时,我们可以借鉴上面的问题答案代码

for(int i=1 ; i<=6;i++)//六位数密码所以循环输出六次
{
int n =random.nextInt(62);//随机生成一个整数,这个整数的范围就是[0,62)
System.out.print(pardStore[n]);//每次生成的整数n用pardStore[n]来代表一个数组中的数据
}

3、多多练习,灵活变动!

还有很多内容需要不断练习才能真正掌握,所以要多看多学多练~



相关文章
|
6月前
|
算法 C#
54.c#:random类
54.c#:random类
128 1
|
27天前
|
Python
Numpy学习笔记(一):array()、range()、arange()用法
这篇文章是关于NumPy库中array()、range()和arange()函数的用法和区别的介绍。
40 6
Numpy学习笔记(一):array()、range()、arange()用法
|
Python
python之math,random模块的使用方法
python之math,random模块的使用方法
100 0
|
6月前
|
Python
python中random.choice用法
python中random.choice用法
226 0
|
12月前
|
安全 Java 数据安全/隐私保护
java random随机数的用法
java random随机数的用法
|
6月前
Math.random()随机函数的一些常用封装方法
Math.random()随机函数的一些常用封装方法
|
Python
Python random 随机函数(random、uniform、randint、choice、choices、randrange、shuffle、sample)
Python random 随机函数(random、uniform、randint、choice、choices、randrange、shuffle、sample)
132 0
|
算法 Python
random库的使用(专题)
random库的使用(专题)
128 0
random库的使用(专题)
|
编译器 C语言 C++
C++中rand随机数的用法
C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布的伪随机整数。 RAND_MAX必须至少为32767。rand()函数不接受参数,默认以1为种子(即起始值)。 随机数生成器总是以相同的种子开始,所以形成的伪随机数列也相同,失去了随机意义。(但这样便于程序调试)
|
存储 Python
python round()函数保留小数位数的详细用法及round函数的坑
python round()函数保留小数位数的详细用法及round函数的坑
362 0
python round()函数保留小数位数的详细用法及round函数的坑