JAVA 16位ID生成工具类含16位不重复的随机数数字+大小写
本文介绍了Java随机数,分享给大家,也顺便做个笔记
package com.fty.util; import java.security.SecureRandom; import java.util.Random; import java.util.concurrent.ThreadLocalRandom; public class UtilId { /** * 生成16位不重复的随机数,含数字+大小写 * @return */ public static String getGUID() { StringBuilder uid = new StringBuilder(); //产生16位的强随机数 Random rd = new SecureRandom(); for (int i = 0; i < 16; i++) { //产生0-2的3位随机数 int type = rd.nextInt(3); switch (type){ case 0: //0-9的随机数 uid.append(rd.nextInt(10)); /*int random = ThreadLocalRandom.current().ints(0, 10) .distinct().limit(1).findFirst().getAsInt();*/ break; case 1: //ASCII在65-90之间为大写,获取大写随机 uid.append((char)(rd.nextInt(25)+65)); break; case 2: //ASCII在97-122之间为小写,获取小写随机 uid.append((char)(rd.nextInt(25)+97)); break; default: break; } } return uid.toString(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Java生成随机数的2种示例方法代码
我们现在做个例子,比如生成20个0到10之间的随机数. 1.使用Random类的nextInt(n)方法,n代表0到n之间,包括0,不包括n 复制代码 代码如下: Random random = new Random();for(int i=0;i<20;i++){ System.out.println(random.nextInt(10));} 2.使用Math类中的random方法,它生成的随机数是0.0到1.0之间的double.要生成int就需要类型转换 复制代码 代码如下: for(i
-
Java编程实现生成给定范围内不重复随机数的方法小结
本文实例总结了Java编程实现生成给定范围内不重复随机数的方法.分享给大家供大家参考,具体如下: 在Java中的Math类中存在一个random()方法,该方法默认生成0.0到1.0之间的double型随机数:经过稍微处理,就可以产生我们需要的随机数以及随机字符. 除了Math类中的random()方法之外,java.util.Random类也可以用来生成随机数:下面分别举例(用不同的方法生成双色球号码)说明: 1. Math.random()方法 生成随机数: package test; im
-
java生成抽样随机数的多种算法
本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 概述: 这里你是不是会说,生成随机数有什么难的?不就是直接使用Java封装好了的random就行了么?当然对于一般情况下是OK的,而且本文要说明的这些算法也是基于这个random库函数的. 本文主要是针对抽样这一行为进行的,而抽样本身有一个隐含的规则就是不要有重复数据.好了,有了这些说明.你可以先尝试着用一些自己的想法来实现不重复地生成随机数. 算法尝试: 一些好的算法出现,往往伴随着一些不那么好的算法.但是对于效果不太好的算法
-
Java生成10个1000以内的随机数并用消息框显示数组内容然后求和输出
本文最终结果大概是这样的,使用java技术随机生成10个数,然后填充一个数组并在消息框中显示数组内容,接着对数组求和输出,将结果显示在消息框中. 设计思路:可以先用Math.Random()*1000生成1000以内随机数,然后依次存入数组中,然后读取数组,输出随机数,同时进行加法计算,最后将所有结果以消息框形式输出. 程序流程图: 源代码: package 随机数求和; import javax.swing.*; public class Sum { public static void ma
-
Java获取随机数的3种方法
主要介绍了Java获取随机数的3种方法,主要利用random()函数来实现 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1))例: (int)(1+Math.random()*(10-1+1)) 从1到10的int型随数 方法2 获得随机数 for (int i=0;i<30;i++) {System.out.println((int)(1+Math.random()*10));} (int)(1+Math.random()*10) 通过java.Math包的ra
-
史上最全的java随机数生成算法分享
复制代码 代码如下: String password = RandomUtil.generateString(10); 源码如下: 复制代码 代码如下: package com.javaniu.core.util;import java.util.Random;public class RandomUtil { public static final String ALLCHAR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS
-
java生成指定范围随机数的多种代码
生成指定范围内的随机数这个是最常用的技术之一,程序员希望通过随机数的方式来处理众多的业务逻辑,测试过程中也希望通过随机数的方式生成包含大量数字的测试用例. 问题往往类似于: 如何随机生成 1~100 之间的随机数,取值包含边界值 1 和 100. 或者是: 如何随机生成随机的3位整数? 等等-- 以 Java 语言为例,我们观察其 Random 对象的 nextInt(int) 方法,发现这个方法将生成 0 ~ 参数之间随机取值的整数.例如(假设先有 Random rand = newRando
-
如何用java生成指定范围的随机数
要生成在[min,max]之间的随机整数, package edu.sjtu.erplab.io; import java.util.Random; public class RandomTest { public static void main(String[] args) { int max=20; int min=10; Random random = new Random(); int s = random.nextInt(max)%(max-min+1) + min; System.
-
JAVA 根据设置的概率生成随机数的方法
本文介绍了JAVA 根据设置的概率生成随机数的方法,分享给大家 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; public class RandomTest { // String 可以为任意类型 也可以自定义类型 static Map<String, Integer> keyChanceMap
-
Java中的随机数详解
在java中我们可以使用java.util.Random类来产生一个随机数发生.它有两个构造函数,分别是Random()和Random(long seed).Random()是用当前时间即System.currentTimeMillis()作为发生器的种子,而Random(long seed)是用指定的seed作为发生器的种子. 当随机数发生器就是Random对象产生以后,可以通过对象调用不同的方法:nextInt().nextLong().nextFloat().nextDouble()等来获
-
Java实现按权重随机数
一.问题定义: 问下有一个数组,这些数组中的值都有自己的权重,怎样设计才能高效的优先取出权重高的数?? 例如: 复制代码 代码如下: 权重: 8 2 11 79 权重返回的值: 0 1 2 3 二.分析问题: 思路一:创建一个数组数组大小为权重和的大小,如值0的权重是8,则放入8个0值,值1的权重是2,则放入2个1值,依次类推. 然后用用一个权重和大小的随机数,产生随机数,即可.缺点要占用过多的内存. 思路二: 权重和数组 w[i]存储的是[0,i]元素的所有元素的权重和 时间复
-
java生成随机数(字符串)示例分享
用来生成简单的随机java生成随机数,大小+数字.没特符 复制代码 代码如下: package passwords;import java.util.Random;public class pwdGen { private Random rdseed=new Random(); /** *@param *length password length; *@param *letters boolean non-capital letters combination control;
随机推荐
- 如何获知文件被改动的情况?
- Lua中执行系统命令方法介绍
- jquery实现用户信息修改验证输入方法汇总
- 6款新颖的jQuery和CSS3进度条插件推荐
- Java实现按行读取大文件
- pdf转换成jpg示例分享
- PHP代码优化的53个细节
- 计算机二级考试MySQL知识点 mysql alter命令
- short与int转换的小例子
- linux系统中mysql数据库的导入和导出
- PHP中file_exists使用中遇到的问题小结
- 从豆瓣网站设计谈网站重构
- 微信小程序 this和that详解及简单实例
- 原生js实现addclass,removeclass,toggleclasss实例
- JavaScript 三种不同位置代码的写法
- 杰奇分类设置方法
- C语言中结构体(struct)的几种初始化方法
- C# 参考之访问关键字:base、this
- php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
- 详解vue为什么要求组件模板只能有一个根元素