java生成隨機(jī)字符串的兩種方法
本文實(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(); //長(zhǎng)度為幾就循環(huán)幾次 for(int i=0; i<length; ++i){ //產(chǎn)生0-61的數(shù)字 int number=random.nextInt(62); //將產(chǎn)生的數(shù)字通過(guò)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)); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于Mybatis Plus實(shí)現(xiàn)多表分頁(yè)查詢(xún)的示例代碼
這篇文章主要介紹了基于Mybatis Plus實(shí)現(xiàn)多表分頁(yè)查詢(xún)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Java的函數(shù)式接口@FunctionalInterface的使用說(shuō)明
這篇文章主要介紹了Java的函數(shù)式接口@FunctionalInterface的使用說(shuō)明,我們常用的一些接口Callable、Runnable、Comparator等在JDK8中都添加了@FunctionalInterface注解,需要的朋友可以參考下2024-01-01詳解lombok @Getter @Setter 使用注意事項(xiàng)
這篇文章主要介紹了詳解lombok @Getter @Setter 使用注意事項(xiàng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Struts2實(shí)現(xiàn)對(duì)action請(qǐng)求對(duì)象的攔截操作方法
這篇文章主要介紹了Struts2實(shí)現(xiàn)對(duì)action請(qǐng)求對(duì)象的攔截操作方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11Java基于swing實(shí)現(xiàn)的彈球游戲代碼
這篇文章主要介紹了Java基于swing實(shí)現(xiàn)的彈球游戲代碼,包含了窗體界面設(shè)計(jì)與游戲的邏輯功能處理,具有不錯(cuò)的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11Bloc事件流是一個(gè)阻塞隊(duì)列結(jié)論解析
這篇文章主要為大家介紹了Bloc事件流是一個(gè)阻塞隊(duì)列結(jié)論解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11Java實(shí)現(xiàn)簡(jiǎn)單的斗地主游戲
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單的斗地主游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04