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

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

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

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

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

(0)
上一篇 2022年7月23日 下午9:36
下一篇 2022年7月23日 下午9:46


相关推荐

  • 使用adb安装apk命令格式

    使用adb安装apk命令格式adbinstall[-r][-s]-r表示重新安装APK包,-s表示将APK包安装到SD卡上adbinstall[-k]-k表示只删除应用程序,但保留该程序所用的数据和缓存目录

    2022年5月18日
    51
  • 软件管理和电脑管家打不开怎么办_电脑管家下载软件连接错误

    软件管理和电脑管家打不开怎么办_电脑管家下载软件连接错误错误:应用程序无法启动,因为应用程序的并行配置不正确。请参阅应用程序事件日志,或使用命令行sxstrace.exe工具”问题的处理方法。方法一:开始-运行(输入services.msc)-确定或回车,打开:服务(本地);我们在服务(本地)窗口找到:WindowsModulesInstaller服务,查看是否被禁用;3…如果WindowsModulesInstaller服务被禁用,我们必须把它更改为启用-手动,重启计算机,再安装应用程序。转载至https://blo

    2022年8月13日
    10
  • Nano Banana 终极提示指南

    Nano Banana 终极提示指南

    2026年3月16日
    2
  • matlab中argmax_argmin(matlab中argmin函数)

    matlab中argmax_argmin(matlab中argmin函数)数学中 argmin 的意思 argmin 就是使后面这个式子达到最小值时的 x t 的取值 1 其中 argmin 是元素 变元 的英文缩写 比如 函数 cos x 在 3 5 处 arg 是参数的意思 一般从命令行输入 min 是最小的意思 合起来就是在命令行输入最少的参数个数使 x 的 2 范数值最小的 x 的值 2 范数二范数矩阵 a 的 2 范数就是 a 的转置矩阵乘以 a 特征根最大值的

    2026年1月24日
    2
  • navicat15 mac激活码【最新永久激活】

    (navicat15 mac激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月30日
    216
  • javascript Date format(js日期格式化)

    javascript Date format(js日期格式化)这个很不错,好像是csdn的Meizz写的://对Date的扩展,将Date转化为指定格式的String//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q)可以用1-2个占位符,//年(y)可以用1-4个占位符,毫秒(S)只能用1个占位符(是1-3位的数字)//例子://(newDate()).Format(“yyyy-MM-ddhh:mm:ss.S”)==>2006-07-0208:09:04.423//(newDate())

    2022年4月30日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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