java - 如何在 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
解决方案
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();
}
推荐阅读
- html - 使用域名而不是本地网络中的本地 IP 地址时,无法访问 XAMPP 托管的本地 HTML 网站
- asp.net-mvc - 如何使用 ASP.NET MVC 将列表表视图链接到另一个表视图以获取详细信息
- javascript - 在 a 的情况下替代三元运算符?a : b 不重复 (JavaScript)
- google-apps-script - 如何更改共享权限谷歌驱动子文件夹文件?
- cordova - 如何从 Apache Cordova 框架导出浏览器 Web 应用程序
- javascript - JavaScript 的问题(可能是 Math.floor(Math.random() 或 do-while)
- ios - Xcode 11.1 中未显示等宽选项
- compression - 为矩阵中的每一行识别唯一的一组单元格
- mysql - SQL 查询带入列中不存在的月份
- jboss - 无法找到 render-kit-id oracle.adf.rich 的 renderkit 实例