java生成隨機(jī)字符串的兩種方法
更新時(shí)間:2017年10月08日 12:28:10 作者:ATJAVA
這篇文章主要為大家詳細(xì)介紹了java生成隨機(jī)字符串的兩種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了java生成隨機(jī)字符串的具體代碼,供大家參考,具體內(nèi)容如下
import java.util.Random;
public class CharacterUtils {
//方法1:length為產(chǎn)生的位數(shù)
public static String getRandomString(int length){
//定義一個(gè)字符串(A-Z,a-z,0-9)即62位;
String str="zxcvbnmlkjhgfdsaqwertyuiopQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
//由Random生成隨機(jī)數(shù)
Random random=new Random();
StringBuffer sb=new StringBuffer();
//長度為幾就循環(huán)幾次
for(int i=0; i<length; ++i){
//產(chǎn)生0-61的數(shù)字
int number=random.nextInt(62);
//將產(chǎn)生的數(shù)字通過length次承載到sb中
sb.append(str.charAt(number));
}
//將承載的字符轉(zhuǎn)換成字符串
return sb.toString();
}
/**
* 第二種方法
*/
public static String getRandomString2(int length){
//產(chǎn)生隨機(jī)數(shù)
Random random=new Random();
StringBuffer sb=new StringBuffer();
//循環(huán)length次
for(int i=0; i<length; i++){
//產(chǎn)生0-2個(gè)隨機(jī)數(shù),既與a-z,A-Z,0-9三種可能
int number=random.nextInt(3);
long result=0;
switch(number){
//如果number產(chǎn)生的是數(shù)字0;
case 0:
//產(chǎn)生A-Z的ASCII碼
result=Math.round(Math.random()*25+65);
//將ASCII碼轉(zhuǎn)換成字符
sb.append(String.valueOf((char)result));
break;
case 1:
//產(chǎn)生a-z的ASCII碼
result=Math.round(Math.random()*25+97);
sb.append(String.valueOf((char)result));
break;
case 2:
//產(chǎn)生0-9的數(shù)字
sb.append(String.valueOf
(new Random().nextInt(10)));
break;
}
}
return sb.toString();
}
public static void main(String[] args) {
System.out.println(CharacterUtils.getRandomString(12));
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于Mybatis Plus實(shí)現(xiàn)多表分頁查詢的示例代碼
這篇文章主要介紹了基于Mybatis Plus實(shí)現(xiàn)多表分頁查詢的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Java的函數(shù)式接口@FunctionalInterface的使用說明
這篇文章主要介紹了Java的函數(shù)式接口@FunctionalInterface的使用說明,我們常用的一些接口Callable、Runnable、Comparator等在JDK8中都添加了@FunctionalInterface注解,需要的朋友可以參考下2024-01-01
詳解lombok @Getter @Setter 使用注意事項(xiàng)
這篇文章主要介紹了詳解lombok @Getter @Setter 使用注意事項(xiàng),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Struts2實(shí)現(xiàn)對action請求對象的攔截操作方法
這篇文章主要介紹了Struts2實(shí)現(xiàn)對action請求對象的攔截操作方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11
Java基于swing實(shí)現(xiàn)的彈球游戲代碼
這篇文章主要介紹了Java基于swing實(shí)現(xiàn)的彈球游戲代碼,包含了窗體界面設(shè)計(jì)與游戲的邏輯功能處理,具有不錯(cuò)的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11
Bloc事件流是一個(gè)阻塞隊(duì)列結(jié)論解析
這篇文章主要為大家介紹了Bloc事件流是一個(gè)阻塞隊(duì)列結(jié)論解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11

