1. package com.yl.springboottest.str;
    2. import org.apache.commons.lang3.RandomStringUtils;
    3. import java.util.Random;
    4. /**
    5. * 描述: Java 随机生成字符串
    6. */
    7. public class CreateRandomStr {
    8. /**
    9. * 1.生成的字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random;
    10. * @param length
    11. * @return
    12. */
    13. public static String createRandomStr1(int length){
    14. String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    15. Random random = new Random();
    16. StringBuffer stringBuffer = new StringBuffer();
    17. for (int i = 0; i < length; i++) {
    18. int number = random.nextInt(62);
    19. stringBuffer.append(str.charAt(number));
    20. }
    21. return stringBuffer.toString();
    22. }
    23. /**
    24. * 2.可以指定某个位置是a-z、A-Z或是0-9,需要导入的包是import java.util.Random;
    25. * @param length
    26. * @return
    27. */
    28. public static String createRandomStr2(int length){
    29. Random random = new Random();
    30. StringBuffer stringBuffer = new StringBuffer();
    31. for (int i = 0; i < length; i++) {
    32. int number = random.nextInt(3);
    33. long result = 0;
    34. switch (number) {
    35. case 0:
    36. result = Math.round(Math.random()*25+65);
    37. stringBuffer.append(String.valueOf((char)result));
    38. break;
    39. case 1:
    40. result = Math.round(Math.random()*25+97);
    41. stringBuffer.append(String.valueOf((char)result));
    42. break;
    43. case 2:
    44. stringBuffer.append(String.valueOf(new Random().nextInt(10)));
    45. break;
    46. }
    47. }
    48. return stringBuffer.toString();
    49. }
    50. /**
    51. * 3.org.apache.commons.lang包下有一个RandomStringUtils类,
    52. * 其中有一个randomAlphanumeric(int length)函数,可以随机生成一个长度为length的字符串。
    53. * @param length
    54. * @return
    55. */
    56. public static String createRandomStr3(int length){
    57. return RandomStringUtils.randomAlphanumeric(length);
    58. }
    59. /**
    60. * 生成指定位数的随机数
    61. * @param length
    62. * @return
    63. */
    64. public static Integer createRandomNumber(int length){
    65. String count = "1";
    66. for (int i = 1; i < length; i++) {
    67. count += "0";
    68. }
    69. return (int)((Math.random()*9+1)*Integer.valueOf(count));
    70. }
    71. }
    1. // 生成1000到9999之间的随机数
    2. System.out.println((int)(Math.random()*(9999-1000+1)+1000));
    3. // 生成6位随机数
    4. System.out.println((int)((Math.random()*9+1)*100000));
    5. // 生成5位随机数
    6. System.out.println((int)((Math.random()*9+1)*10000));
    7. // 生成4位随机数
    8. System.out.println((int)((Math.random()*9+1)*1000));