首页 > 解决方案 > 如何在 Java 中使用 Random 类打印字符串的一部分?

问题描述

我的目标是使用 Random 类从字符串中打印一部分(5 个字符)。

我已经想出了如何从字符串中随机打印一个字符,但我的目标是打印 5 个字符。到目前为止我的代码:

import java.util.Random;

public class Training {
    public static void main(String[] args) {
        String text = "abcdefghijklmnopqrstuvwxyz";
        Random random = new Random();

        int i = 5;

        System.out.println(text.charAt(random.nextInt(text.length())));
        System.out.println(text.charAt(random.nextInt(text.length())));
        System.out.println(text.charAt(random.nextInt(text.length())));
    }
}

预期的输出必须是字符串中的任意 5 个连续字符。例如:

hijkl
cdefg
abcde

标签: java

解决方案


final String text = "abcdefghijklmnopqrstuvwxyz";
final Random random = new Random();
final int length = 5;

for (int i = 0; i < 3; i++) {
    int pos = random.nextInt(text.length() - length)
    System.out.println(text.substring(pos, pos + length));
}

作为创建子字符串的替代方法,您可以打印单独的字符:

for (int i = 0; i < 3; i++) {
    for (int j = 0, pos = random.nextInt(text.length() - length); j < length; j++)
        System.out.print(text.charAt(pos + j));
    System.out.println();
}

推荐阅读