Random的nextInt()用法「建议收藏」

Random的nextInt()用法「建议收藏」Random的nextInt()用法一、先看这样一个有趣的题目:1、设计一个密码的自动生成器:密码由大写字母/小写字母/数字组成,生成六位随机密码。2、分别以1、2、3作为种子数创建Random对象,生成六位随机密码进行测试。问题答案核心代码如下:importjava.util.Random;importjava.util.Scanner;publicclassRandomT…

大家好,又见面了,我是你们的朋友全栈君。

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

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

各位看官看完之后有什么好的建议欢迎提出,一起讨论交流共同进步嘛!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162888.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • JDBC-三层架构

    JDBC-三层架构

  • 软考总结「建议收藏」

    软考总结「建议收藏」软考总结

  • 二叉树的前序、中序、后序三种遍历

    二叉树的前序、中序、后序三种遍历二叉树的前序、中序、后序三种遍历

  • 什么是java?为什么要学Java? 学Java有什么用?

    什么是java?为什么要学Java? 学Java有什么用?肯定会有许多人或多或少都和我一样,当偶然在电视上看到程序员对着电脑飞快敲下一串代码,不禁为他们发出惊叹,想象着有一天自己也能这样。是的,有一天你也能这样!因为我已经实现了!下面我们来看看到底什么是JAVA?为什么要学习,学习了有什么用?先给大家看一下19年计算机语言排行什么是java?为什么要学Java?学Java有什么用?1.什么是JavaJava它就是一种编程语言,别的编程语言能干的事,它都能干。2.编程语言这么多,我为什么选择Java呢?简单易学首先Java是一个面向对象的编程语言

  • 【Java面试系列】ElasticSearch面试题

    【Java面试系列】ElasticSearch面试题目录1.Elasticsearch面试题2.Elasticsearch面试题解析1、elasticsearch了解多少,说说你们公司es的集群架构,索引数据大小,分片有多少,以及一些调优手段。1.1、设计阶段调优1.2、写入调优1.3、查询调优1.4、其他调优2、elasticsearch的倒排索引是什么3、elasticsearch索引数据多了…

  • 原则与执着:暴雪王牌总结游戏研发得失成败「建议收藏」

    原则与执着:暴雪王牌总结游戏研发得失成败「建议收藏」暴雪执行副总裁、diablo3设计师RobPardo在本年度GDC上详细讲述了暴雪在游戏设计理念的主要原则,总结暴雪过去十余年中的经验教训。  RobPardo在暴雪长期负责游戏设计方面的工作,具有极其丰富的成功经验。他曾是《星际争霸》、《星际争霸:母巢之战》、《魔兽争霸3:混乱之治》、《魔兽争霸3:冰封王座》、《魔兽世界》、《魔兽世界:燃烧远征》的主要设计者,2006年他以《魔兽世界》

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号