随机生成字母数字的组合
随机数和随机字符串在开发中频繁的使用,本篇的demo可以直接封装成为一个实体类,使用的时候直接调用里面的对应方法即可
import java.util.Random;public class StringUtil {private static final int Num_WORD = 1;//数字private static final int STR_WORD = 2;//字母private static final int STR_NUM_WORD = 3;//字母数字private static final int MIX_WORD = 4;//字母数字符号/*** 获取随机字符串* @param style 输出格式 1纯数字,2纯字符串,3字符数字组合,4字符数字符号组合。* @param length 输出长度* */public static String getRandomStr(int style, int length) {if (style == Num_WORD) {return getNumRandom(length);} else if (style == STR_WORD) {return getStrRandom(length);} else if (style == STR_NUM_WORD) {return getStrNumRandom(length);}else if (style == MIX_WORD) {return getMixRandom(length);}else{return getMixRandom(length);}}//纯数字private static String getNumRandom(int length) {int[] array = new int[length];StringBuilder str = new StringBuilder();for (int i = 0; i < length; i++) {array[i] = (int) (Math.random() * 10);str.append(array[i]);}return str.toString();}//纯字母private static String getStrRandom(int length) {int[] array = new int[length];char[] chars = new char[length];StringBuilder str = new StringBuilder();for (int i = 0; i < length; i++) {while (true) {array[i] = (int) (Math.random() * 1000);if ((array[i] > 64 && array[i] < 91)|| (array[i] > 96 && array[i] < 123))break;}chars[i] = (char) array[i];str.append(chars[i]);}return str.toString();}//字母数字组合public static String getStrNumRandom(Integer length) { StringBuilder str = new StringBuilder();Random random = new Random(); for (int i = 0; i < length; i++) { boolean b = random.nextBoolean(); if (b) { // 字符串 int choice = random.nextBoolean() ? 65 : 97; //取得65大写字母还是97小写字母 str.append((char) (choice + random.nextInt(26)));// 取得大写字母 } else { // 数字 str.append(random.nextInt(10)); } } return str.toString(); } //字母数字符号组合private static String getMixRandom(int length) {int[] array = new int[length];char[] chars = new char[length];StringBuilder str = new StringBuilder();for (int i = 0; i < length; i++) {while (true) {array[i] = (int) (Math.random() * 1000);if (array[i] > 47 && array[i] < 91 || (array[i] > 96 && array[i] < 123))break;}chars[i] = (char) array[i];str.append(chars[i]);}return str.toString();}public static void main(String[] args) {System.out.println(StringUtil.getRandomStr(4, 10));}
}
随机生成字母数字的组合相关推荐
- Js 随机生成字母数字
1.随机生成 1 Math.random().toString(36).substr(2); //k2jxrnj3x48 默认12位2 Math.random().toString(36).subst ...
- 随机生成字母数字字符串
const str = Math.random().toString(36).substr(2, 10) console.log(str) // '28hg3htkbz' 先是 Math.random ...
- 如何生成随机的字母数字字符串?
我一直在寻找一种简单的 Java算法来生成伪随机的字母数字字符串. 在我的情况下,它将用作唯一的会话/密钥标识符,在"超过500K+世代中"可能"是唯一的(我的需求实际上 ...
- 定义一个方法,使用随机的字母+数字生成一个6位数的密码
@Testpublic void test10() {//调用PassWord方法打印输出System.out.println(PassWord());}//定义一个方法,使用随机的字母+数字生成一个 ...
- python 组合数字和字符_python无限生成不重复(字母,数字,字符)组合的方法
python无限生成不重复(字母,数字,字符)组合的方法 使用python自带的itertools模块 调用其product函数 传入我们想组合生成的字符数据 便会源源不断的生成组合 而且不会重复 r ...
- 在PHP中生成随机的字母数字字符串
首先,让我说几乎没有事件是真正随机的. 如果我们知道所涉及的每个因素(例如空气摩擦,重力和初始力)的影响,那么即使从理论上讲,经典的抛硬币的结果也可以预测. 同样的情况适用于随机数和字母数字字符串的生 ...
- Java 随机生成 “纯数字“、“纯字母“ 、“数字字母混合“ ID 并保持全局唯一
文章目录 随机生成 "纯数字"."纯字母" ."数字字母混合" ID并保持全局唯一 一.随机生成纯数字ID 二.随机生成纯字母ID 三.随机 ...
- aliyun短信服务包含随机生成四位数字验证码工具类
.1.pom文件 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sd ...
- html怎么随机生成字母,JS简单生成由字母数字组合随机字符串示例_气质_前端开发者...
本文实例讲述了 前言 最近有个需求,是需要生成3-32位长度的字母数字组合的随机字符串,另一个是生成43位随机字符串. 方法一 奇妙的写法 Math.random().toString(36).sub ...
最新文章
- DAY11-MYSQL之ORM框架SQLAlchemy
- CIFS NFS SMB Samba 文件共享协议 介绍
- 以太网的MAC帧(二)
- JS格式化JSON串显示在表格中
- 更改SQL Server表所有者的操作方法
- 除零中断是什么意思?_百万并发「零拷贝」技术系列之初探门径
- java中mq组建是什么_Java教程之RabbitMQ介绍
- rop的noejs客户端
- SAP Commerce的Content Page,Content Slot和Component在Spartacus里的应用
- 高阶篇:8.1)开模前评审及提交资料;
- Windows结束某个端口的进程
- 米线店结账程序 装饰着模式_真实数据:外卖销售9999+ 长沙米线万单店 它究竟是怎么做到的?...
- mybatis-plus 自定义UpdateWrapper(一)实现列自增
- 禁止搜狗拼音输入法自动更新
- 知乎python小项目_python项目知乎
- 高德导航在天地图显示
- springboot+thymeleaf实现邮件群发
- 小米、360、盛大路由器?居然还有这么多人趋之若鹜!!!想不通!
- python学习--max和reduce函数
- freertos使用基础
热门文章
- Pr 2019 快速入门(1)
- LOI 2607 [ZJOI2008]骑士
- python现在排第几名_2019 编程语言排行榜:C 排名衰退,python即将问鼎
- day06-元组字典集合常用两种排序
- 软件测试团队口号及队名,霸气队名及团队口号
- 绝地求生自定义服务器购买,绝地求生怎么创建自定义房间_创建自定义房间方法教程...
- IOS风企业宣传PPT模板
- 用3-sigma原则处理DataFrame中的异常值
- java生成.exe文件
- 【matlab 图像处理】通道互换推向颜色模式转换图像灰度化