java42

1.Random类
随机生成某个整数

    Random r = new Random();
    System.out.println(r.nextInt());

伪随机数:第一次打印为随机,再次运行,数字将保持不变

    Random r1 = new Random(10);
    System.out.println(r1.nextInt());

随机输出34到179之间的数
分析:.nextInt(15)表示生成0到15之间的随机数
当输出最小为0时,只需加上34;
当输出最小为145时,也只需加上34

    System.out.println(34 + new Random().nextInt(145));

2.UUID:通用唯一识别符(在一台机器上生成的数字)
生成规律:是结合当前的时间和每台机器上的网卡识别符生成的一段字符

    String a =UUID.randomUUID().toString();
    System.out.println(a);
【4b8fc3b2-89e9-473a-80d6-c791e4e90826】    

3.日期类(需要导包[util包])

import java.util.Date;

public class date类 {
public static void main(String[] args) {
    //获取当前的时间
    Date date = new Date();
    System.out.println(date);
    //获取当前的毫秒值
    long time = System.currentTimeMillis();
    System.out.println(time);
    //将毫秒值转换为当前的日期类型
    Date date2 = new Date(time);
    System.out.println(date2);
    //中国日期
    String d = date2.toLocaleString();
    System.out.println(d);
    //将日期转换为当前的毫秒值
    System.out.println(date2.getTime());
    
}
}

当计算员工的工龄,年龄时类型都是date类
4.随即验证码

import java.util.Random;
import java.util.UUID;

public class 验证码 {
public static void main(String[] args) {
    //UUID的数是随机的
    String u = UUID.randomUUID().toString();
    System.out.println(u);
    //取其前五位
    System.out.println(u.substring(0,5));//缺点,字母只到F,原因,UUID为十六进制编写
    System.out.println("********************");
    //改进:让系统在给定的字符串中随机输出任意字符。
    String a = "ABCDEFGHIjKLMNOPQRSTUVWXYZ";
    a = a + a.toLowerCase();
    a = a + "0123456789";
    System.out.println(a);
###
思路:
    //先让其随机在字符串长度内截取一个字符(告知其位置)
        //先知道字符串有多长
    System.out.println(a.length());
        //将其位置在字符串长度内随机
    int a2 = new Random().nextInt(a.length());
        //将随机位置和字符联系在一起
    System.out.println(a.charAt(a2));
###
    //若输入五位验证码,则循环五次
    for(int i = 0;i < 5;i++) {
        int a3 = new Random().nextInt(a.length());
        System.out.print(a.charAt(a3));
    }
    
    
}
}
在输入五位验证码处替换成更好的代码
    //数据无论怎么改,地址都不会变(可变字符串)
    StringBuilder sb = new StringBuilder();
    for(int i = 0;i < 5;i++) {
        int a2 = new Random().nextInt(a.length());
        char res = a.charAt(a2);
        sb.append(res);//类似于sb = sb + ch;
    }
    System.out.println(sb);

你可能感兴趣的:(java42)