软件编程
位置:首页>> 软件编程>> java编程>> java生成随机字符串的两种方法

java生成随机字符串的两种方法

作者:ATJAVA  发布时间:2022-09-09 22:49:26 

标签: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));

}

}

来源:http://www.cnblogs.com/ipetergo/p/7636982.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com