java 随机字母数字_Java生成字母和数字组成的随机字符串
在业务开发过程中经常遇到生成随机字符串,用于密钥、密码、口令或其他标识使用。
下面就介绍一下通过Java程序生成这些随机字符串的方法。
1. 随机生成n位由字母或数字组成的字符串
public static String getRandomCharacterAndNumber(int length) {
String val = "";
Random random = new Random();
for (int i = 0; i < length; i++) {
String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num"; // 输出字母还是数字
if ("char".equalsIgnoreCase(charOrNum)) // 字符串
{
int choice = random.nextInt(2) % 2 == 0 ? 65 : 97; // 取得大写字母还是小写字母
val += (char) (choice + random.nextInt(26));
// int choice = 97; // 指定字符串为小写字母
val += (char) (choice + random.nextInt(26));
} else if ("num".equalsIgnoreCase(charOrNum)) // 数字
{
val += String.valueOf(random.nextInt(10));
}
}
return val;
}
2. 结果校验
public static boolean isRandomUsable(String str) {
String regExp = "^[0-9a-zA-Z]{6}$";
Pattern pat = Pattern.compile(regExp);
Matcher mat = pat.matcher(str);
return mat.matches();
}
3. 测试代码
public static void main(String[] args) {
for (int i = 0; i < 20; i++) {
String str = getRandomCharacterAndNumber(6);
System.out.println(str);
System.out.println(isRandomUsable(str));
}
}
java 随机字母数字_Java生成字母和数字组成的随机字符串相关推荐
- java字母反过来_java之字母反转~~ - Plight - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
字符串的反转输出 这也是面试题中常考的一道.我们就以一个包含了全部26个英文字母,同时又具有完整含义的最短句子作为例子来完成解答.先来看一下这个句子: 引用 A quick brown fox jum ...
- java产生字符函数_java生成字符串md5函数类(javaSE)
//实现生成MD5值 import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.B ...
- java 正则表达式匹配数字_java正则表达式匹配所有数字的案例
用于匹配的正则表达式为 :([1-9]\d*\.?\d*)|(0\.\d*[1-9]) ( [1-9] :匹配1~9的数字: \d :匹配数字,包括0~9: * :紧跟在 \d 之后,表明可以匹配零个 ...
- java随机产生字母排序_Java生成含字母和数字的6位随机字符串
本文实例为大家分享了Java生成6位随机字符串的实现代码,具体内容如下 package com.amos.tools; import java.util.ArrayList; import java. ...
- java 数字 字母 中文_java中英文字母、数字、中文所占字节数
先了解下基本的单位: 1.比特(bit)即一个二进制位,例如100011就是6比特. 2.字节(byte),这是计算机中数据类型最基本的单位了,8bit组成1byte. java要确定每种基本类型所占 ...
- java 字母个数字_Java 中字母对应的数字是多少
展开全部 for(int i = 0;i<255;i++){char a = (char) i;System.out.println(a+"........."+i);},这 ...
- java 获得唯一 数字_java生成唯一数字
java生成唯一数字 用UUID类生成唯一标识的时候,会生成一个十六进制的整数,但是不能作为数据库long型字段的唯一标识,用下面的办法可以实现数据库long型标识的生成: public class ...
- java 输出字母图形_java打印字母菱形,怎么打!!!
哈哈!终于明白怎么打出字母菱形了.下面是代码请高手指点一二,呵呵!charstart='A';//开始的字符System.out.print("请输入三角形的行高:");intnu ...
- java生成8位自增编号_Java生成8位数字按照从0开始到自己设置循环好多次
展开全部 建议使用java8的新特性 stream很快就能生成 示例代码如下int cycleTimes = 1000; int numLength = 8; Stream.iterate(1,ite ...
最新文章
- 找到反例!博士后数学家推翻困扰数学界80多年的单位猜想
- linux screen 配置
- PostgreSql入门命令
- maven项目,如何导入本地jar包
- VS Code 1.37 发布,多个图标迎来全新设计
- C++实现系统性能检测工具
- 【渗透测试】—如何利用文件包含的方式进行攻击
- 检查Linux服务器性能的关键十条命令
- 在cmakelists和makefile中设置opencv
- hibernate教程笔记1
- Unity3D(四)Camera和SkyBox
- MKVToolNix v72.0 MKV视频封装工具
- Python实现层次分析法
- 怎么使用虚拟机装服务器系统,如果使用VMware虚拟机创建系统,超详细安装图文教程...
- Python爬虫之简单爬虫之爬取英雄联盟官网的英雄的皮肤
- php 没有读取权限能不能复制,“需要提供管理员权限才能复制此文件夹”怎么办...
- velocity模板大小写转换
- 玩玩Simulink——直流电机仿真
- Android Studio 4.1没有GsonFormat插件
- 无监督学习 聚类分析②