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、多多练习,灵活变动!

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



相关文章
|
19天前
|
算法 C#
54.c#:random类
54.c#:random类
91 1
|
19天前
|
Python
Python random模块(获取随机数)常用方法和使用例子
`random`模块在Python中用于生成随机数。
25 0
|
8月前
|
Python
python之math,random模块的使用方法
python之math,random模块的使用方法
|
19天前
|
Python
python中random.choice用法
python中random.choice用法
124 0
|
19天前
Math.random()随机函数的一些常用封装方法
Math.random()随机函数的一些常用封装方法
|
7月前
|
安全 Java 数据安全/隐私保护
java random随机数的用法
java random随机数的用法
|
10月前
|
Python
Python random 随机函数(random、uniform、randint、choice、choices、randrange、shuffle、sample)
Python random 随机函数(random、uniform、randint、choice、choices、randrange、shuffle、sample)
78 0
|
Python
Python 随机数模块random最常用的8个方法
Python 随机数模块random最常用的8个方法
158 0
Math和Random类常用方法
Math和Random类常用方法
80 0
Random类和Math.random生成的随机数
Random类和Math.random生成的随机数
154 0