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、多多练习,灵活变动!
还有很多内容需要不断练习才能真正掌握,所以要多看多学多练~
各位看官看完之后有什么好的建议欢迎提出,一起讨论交流共同进步嘛!!
相关阅读
1.决策树(Decision Tree) 决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一
random.nextInt()与Math.random()基础用法
1、来源 random.nextInt() 为 Java.util.Random类中的方法; Math.random() 为 java.lang.Math 类中的静态方法。 2、用法 产生0-n
next()nextLine()以及nextInt()的区别及用法
next()、nextLine()、nextInt()作为scanner内置的方法,常常让人傻傻分不清楚,今天在这里记下他们的区别以及以此区别为出发点的用法
Java Random介绍一、简介Random类位于java.util包下,此类的实例用于生成伪随机数流。之所以称之为伪随机,是因为真正意义上的随机数
nextInt(int n) 方法用于获取一个伪随机,在0(包括)和指定值(不包括),从此随机数生成器的序列中取出均匀分布的int值。声明 以下是