从数组生成额外的逗号?

时间:2016-11-03 10:31:10

标签: java arrays boolean

在最后打印出一组时,我会出现一个额外的逗号。这个例子在这里:

  

{1,}   {1,2,3,4,}

这是打印逗号的部分。我正在阅读有关StringJoiner的内容,但不确定我是否可以将其作为字符串。

if (works[i]) {
     System.out.print(" ");
     System.out.print(i+5 + ",");           
}

也试过以下:

String str = i+5 + ",";
str = str.replaceAll(", $", "");
System.out.print(str);

然后它也会出现:

{1,2 3,4}
{1}

3 个答案:

答案 0 :(得分:0)

在构建最后一个逗号分隔字符串后,使用以下代码替换最后一个逗号:

str = str.replaceAll(",$", "");  //regex which will replace last comma

让我分享一下我的测试代码。您可以尝试查看代码的错误。

public class Test {

    public static void main(String[] args) {
        int i = 0;
        String str = "1,2,3,";
        str = str.replaceAll(",$", ""); // You put space between , and $ here..
        System.out.print(str);
    }

}

<强>输出:

  

1,2,3

答案 1 :(得分:-1)

您可以使用流:

int[] array = new int[] { 1, 2, 3, 4 };
String collect =
    Arrays.stream(array).mapToObj(i -> String.valueOf(i)).collect(Collectors.joining(","));
System.out.println(collect);

答案 2 :(得分:-1)

试试这个..

我假设IF块处于for循环

if(works[i]){
   String str = i+5 + ",";
}
在for循环之外的

执行此操作..

str = str.substring(0, str.length()-1);
System.out.print(str);