java生成随机字符串的两种方法
作者:ATJAVA 时间:2022-09-09 22:49:26
本文实例为大家分享了java生成随机字符串的具体代码,供大家参考,具体内容如下
import java.util.Random;
public class CharacterUtils {
//方法1:length为产生的位数
public static String getRandomString(int length){
//定义一个字符串(A-Z,a-z,0-9)即62位;
String str="zxcvbnmlkjhgfdsaqwertyuiopQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
//由Random生成随机数
Random random=new Random();
StringBuffer sb=new StringBuffer();
//长度为几就循环几次
for(int i=0; i<length; ++i){
//产生0-61的数字
int number=random.nextInt(62);
//将产生的数字通过length次承载到sb中
sb.append(str.charAt(number));
}
//将承载的字符转换成字符串
return sb.toString();
}
/**
* 第二种方法
*/
public static String getRandomString2(int length){
//产生随机数
Random random=new Random();
StringBuffer sb=new StringBuffer();
//循环length次
for(int i=0; i<length; i++){
//产生0-2个随机数,既与a-z,A-Z,0-9三种可能
int number=random.nextInt(3);
long result=0;
switch(number){
//如果number产生的是数字0;
case 0:
//产生A-Z的ASCII码
result=Math.round(Math.random()*25+65);
//将ASCII码转换成字符
sb.append(String.valueOf((char)result));
break;
case 1:
//产生a-z的ASCII码
result=Math.round(Math.random()*25+97);
sb.append(String.valueOf((char)result));
break;
case 2:
//产生0-9的数字
sb.append(String.valueOf
(new Random().nextInt(10)));
break;
}
}
return sb.toString();
}
public static void main(String[] args) {
System.out.println(CharacterUtils.getRandomString(12));
}
}
来源:http://www.cnblogs.com/ipetergo/p/7636982.html
标签:java,字符串
0
投稿
猜你喜欢
深入理解Java设计模式之代理模式
2022-01-14 07:42:00
Java实现断点下载服务端与客户端的示例代码
2022-07-25 14:16:17
Android自定义View实现五子棋游戏
2021-12-25 19:32:55
Java异常ClassCastException的解决
2022-10-21 02:37:13
Java NIO深入分析
2022-12-29 03:50:27
Java spring AOP基础
2022-08-10 12:39:25
Android CountDownTimer案例总结
2023-12-21 05:40:36
JAVA十大排序算法之快速排序详解
2022-06-08 16:09:11
SSM框架整合之junit测试的方法
2022-11-12 16:03:19
Springboot启动后立即某个执行方法的四种方式
2022-12-29 16:35:52
springboot集成JWT实现身份认证(权鉴)的方法步骤
2023-06-02 12:57:37
Andriod使用多线程实现轮播图片
2023-07-27 15:47:31
Mybatis核心组成部分之SQL映射文件揭秘详解
2023-08-22 18:45:21
c# WinForm制作图片编辑工具(图像拖动、缩放、旋转、抠图)
2022-05-20 12:32:40
Java中clone方法使用笔记
2023-03-26 07:44:38
Java servlet、filter、listener、interceptor之间的区别和联系
2023-11-02 15:32:17
mybatis中insert主键ID获取和多参数传递的示例代码
2023-09-20 07:11:00
MyBatis图文并茂讲解注解开发一对多查询
2023-02-18 08:18:40
Android.bp语法和使用方法讲解
2022-09-29 19:31:19
Java的后台文件夹下文件的遍历完整代码
2023-09-18 12:32:19