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]来代表一个数组中的数据

}

---------------------

作者:rothschildlhl

来源:CSDN

原文:https://blog.csdn.net/rothschild666/article/details/86823311

版权声明:本文为博主原创文章,转载请附上博文链接!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值