首页 > 解决方案 > Java 数组输出格式

问题描述

我知道,我们需要在格式化输出时使用 format() 方法。这是我的以下代码:

int arr[] = { 38, 27, 43, 3, 9, 82, 10 };
    Arrays.stream(arr).forEach(s -> System.out.format("%2d", s));
//output     382743 3 98210

如果我使用下面的代码:

Arrays.stream(arr).forEach(s -> System.out.format("%3d", s));
//output  38 27 43  3  9 82 10

我只想打印输出,下一个值之间有一个空格。像 38 27 43 3 9 82 10

标签: javajava-8java-stream

解决方案


System.out.format()与占位符一起使用。所以%d代表你之后给他的'decimalValue'。您可以使用数字指定占位符的“宽度”。所以%3d总是至少有 3 个宽度。文档

如果您只想输出值之间有一个空格,请执行以下操作:

Arrays.stream(arr).forEach(s -> System.out.format("%d ", s));

然后,您将在数组中为每个条目放置十进制值(不指定宽度)和一个“”(空格)。


推荐阅读