生成随机字符串的 Java 程序

要理解此示例,您应该具备以下 Java 编程的知识:

示例 1:Java 程序生成随机字符串

import java.util.Random;

public class Main {
  public static void main(String[] args) {

    // create a string of all characters
    String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

    // create random string builder
    StringBuilder sb = new StringBuilder();

    // create an object of Random class
    Random random = new Random();

    // specify length of random string
    int length = 7;

    for(int i = 0; i < length; i++) {

      // generate random index number
      int index = random.nextInt(alphabet.length());

      // get character specified by index
      // from the string
      char randomChar = alphabet.charAt(index);

      // append the character to string builder
      sb.append(randomChar);
    }

    String randomString = sb.toString();
    System.out.println("Random String is: " + randomString);

  }
}

输出

Random String is: IIYOBRK

在上面的例子中,我们首先创建了一个包含所有字母的字符串。接下来,我们使用 Random 类的 nextInt() 方法生成了一个随机索引号。

使用随机索引号,我们从字符串字母表中生成了随机字符。然后我们使用 StringBuilder 该类将所有字符附加在一起。

如果我们想随机字符串变成小写,我们可以使用 String 对象的 toLowerCase() 方法。

randomString.toLowerCase()

注意:每次运行程序时输出都会不同。

示例 2:生成随机字母数字字符串的 Java 程序

import java.util.Random;

public class Main {
  public static void main(String[] args) {

    // create a string of uppercase and lowercase characters and numbers
    String upperAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    String lowerAlphabet = "abcdefghijklmnopqrstuvwxyz";
    String numbers = "0123456789";

    // combine all strings
    String alphaNumeric = upperAlphabet + lowerAlphabet + numbers;

    // create random string builder
    StringBuilder sb = new StringBuilder();

    // create an object of Random class
    Random random = new Random();

    // specify length of random string
    int length = 10;

    for(int i = 0; i < length; i++) {

      // generate random index number
      int index = random.nextInt(alphaNumeric.length());

      // get character specified by index
      // from the string
      char randomChar = alphaNumeric.charAt(index);

      // append the character to string builder
      sb.append(randomChar);
    }

    String randomString = sb.toString();
    System.out.println("Random String is: " + randomString);

  }
}

输出

Random String is: pxg1Uzz9Ju

在这里,我们创建了一个字符串,其中包含从 09 的数字以及大写和小写字母。

从字符串中,我们随机生成了一个长度为 10 的字母数字字符串。