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的更多相关文章
随机推荐
- mysql数据库——事务隔离级别
四种隔离级别: 一:READ UNCOMMITTED(未提交读) 事务可以读取其他事务未提交的数据,称为脏读 二:READ COMMITTED(提交读) 一个事务开始时,只能"看见" ...
- windows 查看内存
MEMORYSTATUSEX statex; statex.dwLength = sizeof (statex); GlobalMemoryStatusEx (&statex); _tprin ...
- 使用 C# 9.0 新语法提升 if 语句美感
C# 语言一贯秉承简洁优美的宗旨,每次升级都会带来一些语法糖,让我们可以使代码变得更简洁.本文分享两个使用 C# 9.0 提升 if 语句美感的技巧示例. 使用属性模式代替 IsNullOrEmpty ...
- [Codeforces 553E]Kyoya and Train(期望DP+Floyd+分治FFT)
[Codeforces 553E]Kyoya and Train(期望DP+Floyd+分治FFT) 题面 给出一个\(n\)个点\(m\)条边的有向图(可能有环),走每条边需要支付一个价格\(c_i ...
- python爬虫05正则表达式
字符 描述 \ 将下一个字符标记为一个特殊字符(File Format Escape,清单见本表).或一个原义字符(Identity Escape,有^$()*+?.[\{|共计12个).或一个向后引 ...
- wpf 全局异常捕捉+错误日志记录+自动创建桌面图标
/// /// 创建桌面图标 /// public static void CreateShortcutOnDesktop(string LnkName) { String shortcutPath ...
- 内网渗透 day3 -metasploit的使用
metasploit的使用 目录 一.msf基本操作 1 二.msf模块(比较重要的四个) 2 三.木马生成 2 四.开启监听模块(最常用的模块) 3 一.msf基本操作 1. 使用msfconsol ...
- 224、Basic Calculator
Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...
- one-wallhaven 一个壁纸程序
one-wallhaven 一款基于 Electron 壁纸客户端 . gitee:https://gitee.com/ml13/wallhaven-electron github:https://g ...
- 多MDS变成单MDS的方法
前言 之前有个cepher的环境上是双活MDS的,需要变成MDS,目前最新版本是支持这个操作的 方法 设置最大mds 多活的mds的max_mds会超过1,这里需要先将max_mds设置为1 ceph ...