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

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

本文实例为大家分享了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

标签:java,字符串
0
投稿

猜你喜欢

  • 深入理解Java设计模式之代理模式

    2022-01-14 07:42:00
  • Java实现断点下载服务端与客户端的示例代码

    2022-07-25 14:16:17
  • Android自定义View实现五子棋游戏

    2021-12-25 19:32:55
  • Java异常ClassCastException的解决

    2022-10-21 02:37:13
  • Java NIO深入分析

    2022-12-29 03:50:27
  • Java spring AOP基础

    2022-08-10 12:39:25
  • Android CountDownTimer案例总结

    2023-12-21 05:40:36
  • JAVA十大排序算法之快速排序详解

    2022-06-08 16:09:11
  • SSM框架整合之junit测试的方法

    2022-11-12 16:03:19
  • Springboot启动后立即某个执行方法的四种方式

    2022-12-29 16:35:52
  • springboot集成JWT实现身份认证(权鉴)的方法步骤

    2023-06-02 12:57:37
  • Andriod使用多线程实现轮播图片

    2023-07-27 15:47:31
  • Mybatis核心组成部分之SQL映射文件揭秘详解

    2023-08-22 18:45:21
  • c# WinForm制作图片编辑工具(图像拖动、缩放、旋转、抠图)

    2022-05-20 12:32:40
  • Java中clone方法使用笔记

    2023-03-26 07:44:38
  • Java servlet、filter、listener、interceptor之间的区别和联系

    2023-11-02 15:32:17
  • mybatis中insert主键ID获取和多参数传递的示例代码

    2023-09-20 07:11:00
  • MyBatis图文并茂讲解注解开发一对多查询

    2023-02-18 08:18:40
  • Android.bp语法和使用方法讲解

    2022-09-29 19:31:19
  • Java的后台文件夹下文件的遍历完整代码

    2023-09-18 12:32:19
  • asp之家 软件编程 m.aspxhome.com