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的更多相关文章

随机推荐

  1. 843. Guess the Word —— weekly contest 86

    题目链接:https://leetcode.com/problems/guess-the-word/description/ 占坑 据说要用启发式算法,可参考下述答案进行学习:https://leet ...

  2. 1.python的函数参数传递

    1 Python的函数参数传递 看两个例子: a = 1 def fun(a): a = 2 fun(a) print a # 1 a = [] def fun(a): a.append(1) fun ...

  3. 常用简单电脑bai快捷键大全

    Ctrl+C 复制.duCtrl+X 剪切.Ctrl+V粘贴.Ctrl+Z撤销.Ctrl+A全选所有文件.zhiDelete删除.daoShift+Delete避开回收站直接永久删除(不可找回).F3 ...

  4. php判断用户设备类型

    最近做的一个需求里面希望能判断用户访问页面的设备类型,根据不同的类型去加载不同的数据和页面样式.由于技术栈是使用的php,于是考虑在php层面去做这个判断. 假设主要判断的设备有平板和手机为主,分两个 ...

  5. Mybatis执行SQL的流程

    前篇:Mybatis初始化过程 SqlSession : SqlSession是一个接口,它有两个实现类:DefaultSqlSession (默认)和 SqlSessionManager (弃用,不 ...

  6. http 响应 ngx_http_send_header ngx_http_output_filter

    在解析完  http 请求报文后, 需要发出响应报文, 那么ngx 框架 提供了那些通用接口呢?如果自己设计将所用的模块的响应接口合并起来 你会怎么设计呢?? 响应头过滤函数主要的用处就是处理HTTP ...

  7. uboot——初始化阶段

    start.S |-------------设置cpu状态 |--------------开cache |--------------获得启动方式 |------------------------- ...

  8. TCC事务原理

    本文主要介绍TCC的原理,以及从代码的角度上分析如何实现的:不涉及具体使用示例.本文分析的是github中开源项目tcc-transaction的代码,地址为:https://github.com/c ...

  9. dm-crypt加密磁盘

    dm-cry加密方式密码与文件 与其它创建加密文件系统的方法相比,dm-crypt系统有着无可比拟的优越性:它的速度更快,易用性更强.除此之外,它的适用面也很广,能够运行在各种块设备上,即使这些设备使 ...

  10. 使用IDEA推送项目至gitee平台或github平台

    IDEA项目推送至gitee平台或github平台 1.首先在gitee平台上创建项目 在gitee平台上创建仓库应该很简单,依据下图所示填写相应信息,即可完成创建. 需要说明的一点是,现在java开 ...