JAVA常用类 ——Random类

JAVA常用类 ——Random类一、Random类的认识Random是随机的意思。Random类是java.until下的一个根据随机算法的起源数字进行一些变化,从而得到随机数字的方法。随机算法的起源数字被成为种子数(seed)。虽然Random类产生的数字是随机的,但在相同种子数(seed)下的相同次数产生的随机数是相同的(伪随机)。二、Random对象的生成Random中共有两种构造方法1、publicRandom()此构造方法是以系统自身的时间为种子数来构造Random对象。2、public

JAVA常用类

一、Random类的认识

Random是随机的意思 。

Random类是java.until下的一个根据随机算法的起源数字进行一些变化,从而得到随机数字的方法。

随机算法的起源数字被成为种子数(seed)。

虽然Random类产生的数字是随机的,但在相同种子数(seed)下的相同次数产生的随机数是相同的(伪随机)。

二、Random对象的生成

Random中共有两种构造方法

1、public Random()

此构造方法是以系统自身的时间为种子数来构造Random对象。

2、public Random(long seed)

此构造方法可以自己来选定具体的种子来构造Random对象。

三、Random类的简单使用

package cn.itcast.demo1;

import java.util.Random;//使用时需要先导包
import java.util.Scanner;


public class RAndom {
    public static void main(String[] args) {
        Random r = new Random();//以系统自身时间为种子数
        int i = r.nextInt();
        System.out.println("i"+i);
        Scanner sc  =new Scanner(System.in);
        int j = sc.nextInt();
        Random r2 = new Random(j);//自定义种子数
        Random r3 = new Random(j);//这里是为了验证上方的注意事项:Random类是伪随机,相同种子数相同次数产生的随机数相同
        int num  = r2.nextInt();
        int num2 = r3.nextInt();
        System.out.println("num"+num);
        System.out.println("num2"+num2);
    }
}

输出 

i194711934

2
num-1154715079
num2-1154715079

 四、常用方法

random.nextInt() 返回值为整数,范围是int类型范围
random.nextLong() 返回值为长整型,范围是long类型的范围
random.nextFloat() 返回值为小数,范围是[0,0.1]
random.nextDouble() 返回值为小数,范围是[0,0.1]
random.nextBoolean() 返回值为boolean值,true和false概率相同
radom.nextGaussian() 返回值为呈高斯(“正态”)分布的 double 值,其平均值是 0.0,标准差是 1.0

五、简单应用

需求:设计一个密码生成器,可以随机生成4位数字字母(包括大小写)混合的动态密码。

分析:先找一个字符数组pardStore将大小写字母和数字都放进去(数组长度为62),用一个Random随机一个数来随机每个密码

代码演示:

package cn.itcast.demo1;

import java.util.Random;
import java.util.Scanner;


public class RAndom {
    public static void main(String[] args) {
       char  [] pardStore = new char[62];
        for (int i = 0; i <26 ; i++) {
            pardStore [i] = (char)('A'+i);
        }
        for (int i = 26; i <52 ; i++) {
            pardStore [i] = (char)('a'+(i-26));
        }
        for (int i = 52; i <62 ; i++) {
            pardStore [i] = (char)('a'+(i-52));
        }
        Scanner sc = new Scanner(System.in);
        int seed = sc.nextInt();
        Random r = new Random(seed);
        for (int i = 0; i < 4; i++) {
           int n = r.nextInt(62);
            System.out.print(pardStore[n]);
        }
    }
}

今天的文章JAVA常用类 ——Random类分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

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

(0)
编程小号编程小号

相关推荐

发表回复

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