int[] number = {10, 20, 30, 40, 50};
for (int numb : numb) {
System.out.print(numb);
System.out.print(",");
}
需要以这种形式解决此问题
10,20,30,40,50
没有使用最后一个字符
答案 0 :(得分:1)
是的。最简单的方法是传统的for
循环;
int[] number = {10, 20, 30, 40, 50};
for (int i = 0; i < number.length; i++) {
if (i != 0) {
System.out.print(",");
}
System.out.print(number[i]);
}
您还可以使用StringJoiner
或流串联。但这比仅使用常规的for
循环要复杂得多。
答案 1 :(得分:1)
使用StringJoiner
构建该字符串:
int[] number = {10, 20, 30, 40, 50};
StringJoiner joiner = new StringJoiner(",");
for (int numb : number)
joiner.add(String.valueOf(numb));
String s = joiner.toString();
System.out.println(s); // prints: 10,20,30,40,50
答案 2 :(得分:0)
有几种处理方法。
您可以使用“手册”进行循环:
for (int i = 0; i < number; ++i) {...
...,然后将i + 1 == number.length
时的情况视为特殊情况。
您还可以使用IntStream
,使用Stream
将其映射到mapToObj
,然后使用Collectors.joining(",")
收集该流:
String s = Stream.of(number)
.mapToObject(Integer::toString)
.collect(Collectors.joining(","));
System.out.print(s);
但是最简单的方法可能是使用Arrays.toString(int[])
。这样会在每个逗号后面产生一个带有空格的字符串,但是您可以执行replaceAll(" ", "")
来删除它。