java 随机数生成工具类
来源:互联网 发布:js 小于等于 编辑:程序博客网 时间:2024/05/11 04:24
代码如下:
package com.zuidaima.core.util; import java.util.Random; public class RandomUtil { public static final String ALLCHAR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; public static final String LETTERCHAR = "abcdefghijkllmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; public static final String NUMBERCHAR = "0123456789"; /** * 返回一个定长的随机字符串(只包含大小写字母、数字) * * @param length * 随机字符串长度 * @return 随机字符串 */ public static String generateString(int length) { StringBuffer sb = new StringBuffer(); Random random = new Random(); for (int i = 0; i < length; i++) { sb.append(ALLCHAR.charAt(random.nextInt(ALLCHAR.length()))); } return sb.toString(); } /** * 返回一个定长的随机纯字母字符串(只包含大小写字母) * * @param length * 随机字符串长度 * @return 随机字符串 */ public static String generateMixString(int length) { StringBuffer sb = new StringBuffer(); Random random = new Random(); for (int i = 0; i < length; i++) { sb.append(ALLCHAR.charAt(random.nextInt(LETTERCHAR.length()))); } return sb.toString(); } /** * 返回一个定长的随机纯大写字母字符串(只包含大小写字母) * * @param length * 随机字符串长度 * @return 随机字符串 */ public static String generateLowerString(int length) { return generateMixString(length).toLowerCase(); } /** * 返回一个定长的随机纯小写字母字符串(只包含大小写字母) * * @param length * 随机字符串长度 * @return 随机字符串 */ public static String generateUpperString(int length) { return generateMixString(length).toUpperCase(); } /** * 生成一个定长的纯0字符串 * * @param length * 字符串长度 * @return 纯0字符串 */ public static String generateZeroString(int length) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < length; i++) { sb.append('0'); } return sb.toString(); } /** * 根据数字生成一个定长的字符串,长度不够前面补0 * * @param num * 数字 * @param fixdlenth * 字符串长度 * @return 定长的字符串 */ public static String toFixdLengthString(long num, int fixdlenth) { StringBuffer sb = new StringBuffer(); String strNum = String.valueOf(num); if (fixdlenth - strNum.length() >= 0) { sb.append(generateZeroString(fixdlenth - strNum.length())); } else { throw new RuntimeException("将数字" + num + "转化为长度为" + fixdlenth + "的字符串发生异常!"); } sb.append(strNum); return sb.toString(); } /** * 每次生成的len位数都不相同 * * @param param * @return 定长的数字 */ public static int getNotSimple(int[] param, int len) { Random rand = new Random(); for (int i = param.length; i > 1; i--) { int index = rand.nextInt(i); int tmp = param[index]; param[index] = param[i - 1]; param[i - 1] = tmp; } int result = 0; for (int i = 0; i < len; i++) { result = result * 10 + param[i]; } return result; } public static void main(String[] args) { System.out.println("返回一个定长的随机字符串(只包含大小写字母、数字):" + generateString(10)); System.out .println("返回一个定长的随机纯字母字符串(只包含大小写字母):" + generateMixString(10)); System.out.println("返回一个定长的随机纯大写字母字符串(只包含大小写字母):" + generateLowerString(10)); System.out.println("返回一个定长的随机纯小写字母字符串(只包含大小写字母):" + generateUpperString(10)); System.out.println("生成一个定长的纯0字符串:" + generateZeroString(10)); System.out.println("根据数字生成一个定长的字符串,长度不够前面补0:" + toFixdLengthString(123, 10)); int[] in = { 1, 2, 3, 4, 5, 6, 7 }; System.out.println("每次生成的len位数都不相同:" + getNotSimple(in, 3)); } }
有图有真相:
转载自:史上最全的java随机数生成算法(转)
0 0
- java 随机数生成工具类
- 生成随机数-java工具类
- java 随机数生成工具
- java工具类(三)之生成若干位随机数
- 生成随机数工具
- 随机数生成工具random
- Java随机数工具类总结
- java 随机数产生工具类
- 【Java工具类】----产生随机数
- Java生成随机数工具类,进制之间的转换工具类,获取指定时间,时间格式转换工具类
- Java生成随机数工具类,进制之间的转换工具类,获取指定时间,时间格式转换工具类
- java.unit工具类的使用(Arrays类进行排序,查找;Random生成随机数)
- Java 随机数工具类(可指定字母或数字生成)
- 随机数生成---加法学习工具
- Java常用类:伪随机数生成类
- Java随机数生成
- java随机数的生成
- java生成随机数详解
- Opengl ES 1.x NDK实例开发之四:立方体的旋转
- DVB CAS系统加解扰加解密原理
- pythonXXX云所有厂商
- Cocoa Touch事件处理流程--响应者链
- Opengl ES 1.x NDK实例开发之五:顶点缓存VBO
- java 随机数生成工具类
- WIDECHARTOMULTIBYTE和MULTIBYTETOWIDECHAR函数的用法 (转)
- 解析白盒设备便宜的四大原因
- gt使用手册
- Gradle – Spring 4 MVC Hello World Example
- caffe Sigmoid cross entropy loss 交叉熵损失函数
- JQuery Mobile 手机显示页面偏小
- 大数据为什么要选择Spark
- CCF 画图