生成随机字符串的 Java 程序
要理解此示例,您应该具备以下 Java 编程的知识:
- Java 字符串
- Java for 循环
- Java 字符串 charAt()
示例 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
在这里,我们创建了一个字符串,其中包含从 0
到 9
的数字以及大写和小写字母。
从字符串中,我们随机生成了一个长度为 10 的字母数字字符串。