java - 在没有尾随空格的值之间循环期间优雅地插入空格
问题描述
有没有办法在循环期间在值之间优雅地插入空格(或任何字符或字符串,我想)?例如,我想做以下事情:
for (int i = 0; i < 6; i++) {
System.out.print(i + " ");
}
输出以下内容:
0 1 2 3 4 5
但是这段代码实际上在 5 之后留下了一个空格。我可以在循环之后添加一个修剪来剪掉任何空格,或者在循环之前执行第一个元素,索引 i=2,然后使用 print("" + i) ,但我想知道是否有一种更优雅、更简洁的方法可以在循环中的元素之间专门插入一个值。
编辑:正如 Arvind 指出的那样,它将是 0 1 2 3 4 5,而不是 1 2 3 4 5。
解决方案
以下是三个备选方案:
StringJoiner sj = new StringJoiner(" ");
for (int i = 0; i < 6; i++) {
sj.add(String.valueOf(i));
}
String joined = IntStream.range(0, 6)
.mapToObj(String::valueOf)
.collect(Collectors.joining(" "));
String[] strings = new String[6];
for (int i = 0; i < 6; i++) {
strings[i] = i + "";
}
String joined = String.join(" ", strings);
推荐阅读
- php - HostGator 中的 PHP 版本
- javascript - AWS S3 错误签名与 Javascript 不匹配
- javascript - 从初始位置绘制多边形
- docker - 在 docker-compose 文件中指定端口是否会覆盖 Dockerfile 中公开的端口?
- visual-studio-code - Visual Studio 代码空间错误
- javascript - Selenium C# - 如何从锚标记中删除或替换 target=_blank
- python - 为什么我在 Python 控制台输入 2 或 3 时没有得到 True?
- javascript - 如何使用 webdriver 确定元素是否被父样式隐藏
- npm - npm 错误的问题
- html - 渲染 ejs 文件时样式表和图像未反映