博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
随机生成字符串方法
阅读量:6999 次
发布时间:2019-06-27

本文共 2557 字,大约阅读时间需要 8 分钟。

1 package beifeng.hadoop; 2  3 import java.util.Random; 4 import org.apache.commons.lang.RandomStringUtils; 5  6 /** 7  * Three Methods to generate random string. 8  */ 9 10     public class RandomString {11     /**12      * 生成的字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random;13      * @param length 用户要求产生字符串的长度14      * @return15      */16 17     public static String getRandomString(int length) {18         String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";19         Random random = new Random();20         StringBuffer sb = new StringBuffer();21         for (int i = 0; i < length; i++) {22             // 生产0-61之间的整数23             int number = random.nextInt(62);24             // 添加返回指定索引处的字符25             sb.append(str.charAt(number));26         }27         return sb.toString();28     }29 30     /**31      * 可以指定某个位置是a-z、A-Z或是0-9,需要导入的包是import java.util.Random;可以指定字符串的某个位置是什么范围的值32      * @param length 用户要求产生字符串的长度33      * @return34      */35 36     public static String getRandomString2(int length) {37         Random random = new Random();38         StringBuffer sb = new StringBuffer();39         for (int i = 0; i < length; i++) {40             int number = random.nextInt(3);41             long result = 0;42             switch (number) {43             case 0:44                 result = Math.round(Math.random() * 25 + 65);45                 sb.append(String.valueOf((char) result));46                 break;47             case 1:48                 result = Math.round(Math.random() * 25 + 97);49                 sb.append(String.valueOf((char) result));50                 break;51             case 2:52                 sb.append(String.valueOf(new Random().nextInt(10)));53                 break;54             }55 56         }57         return sb.toString();58     }59 60     public static void main(String[] args) {61         RandomString randomstring = new RandomString();62         String newString = randomstring.getRandomString(5);63         System.out.println(newString);64 65         RandomString randomstring2 = new RandomString();66         String newString2 = randomstring.getRandomString2(10);67         System.out.println(newString2);68 69         /**70          * org.apache.commons.lang包下有一个RandomStringUtils类,71          * 其中有一个randomAlphanumeric(int length)函数,可以随机生成一个长度为length的字符串72          */73 74         String newString3 = RandomStringUtils.randomAlphanumeric(10);75         System.out.println(newString3);76 77     }78 }

 

转载于:https://www.cnblogs.com/perfectdata/p/10134330.html

你可能感兴趣的文章