有什么功能可以删除我代码中的(“,”)

时间:2019-03-30 21:42:03

标签: java

int[] number = {10, 20, 30, 40, 50};
for (int numb : numb) {

System.out.print(numb);


System.out.print(",");

}

需要以这种形式解决此问题

10,20,30,40,50

没有使用最后一个字符

3 个答案:

答案 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(" ", "")来删除它。