码迷,mamicode.com
首页 > 编程语言 > 详细

java生成随机字符串方法(三种)

时间:2019-11-12 11:07:49      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:math   next   class   sci   asc   font   span   rand   类型   

一、直接使用RandomStringUtils类直接生成

//生成指定长度的随机字符串
String str=RandomStringUtils.randomAlphanumeric(10);

二、根据指定字符串生成指定长度的随机字符串

 需要包:import java.util.Random;

 String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
  Random random1=new Random();
  //指定字符串长度,拼接字符并toString
  StringBuffer sb=new StringBuffer();
  for (int i = 0; i < 6; i++) {
 //获取指定长度的字符串中任意一个字符的索引值
  int number=random1.nextInt(str.length());   
  //根据索引值获取对应的字符
  char charAt = str.charAt(number);
      sb.append(charAt);
  }
  String str1 = sb;

三、从指定的某几个位置(a-z、A-Z或是0-9)获取一个随机字符并组成字符串

  需要包:import java.util.Random;
   Random random=new Random();
    StringBuffer sb=new StringBuffer();
    //获取长度为6的字符串
    for(int i=0;i<6;i++){ 
       //获取范围在3之内的索引值
       int number=random.nextInt(3);
       int result=0;
       switch(number){
          case 0:
              //Math.random()*25+65成成65-90的int型的整型,强转小数只取整数部分
              result=(int)(Math.random()*25+65);  //对应A-Z 参考ASCII编码表
              //将整型强转为char类型
               sb.append((char)result);
              break;
         case 1:
             result=(int)(Math.random()*25+97);   //对应a-z
             sb.append((char)result);
             break;
         case 2:     
             sb.append(String.valueOf(new Random().nextInt(10)));
             break;
        }
     
     String str = sb;

java生成随机字符串方法(三种)

标签:math   next   class   sci   asc   font   span   rand   类型   

原文地址:https://www.cnblogs.com/H-Dream/p/11840211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!