java生成隨機字串的兩種方法
文章目錄
- 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));
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/277323.html
標籤:java
上一篇:淺談設計模式及Singleton
