打印数组中的元素,除了最后一个单词之外的元素之间使用逗号

Eri*_*ri. 15 java formatting

我打印出数组列表中的元素,我想在除了最后一个单词之外的每个单词之间使用逗号.现在我这样做:

    for (String s : arrayListWords) {
         System.out.print(s + ", ");
    }
Run Code Online (Sandbox Code Playgroud)

如你所知,它将打印出这样的字样:"一,二,三,四",问题是最后一个逗号,我该如何解决?所有答案都赞赏!

最好的问候,埃里卡

Sot*_*lis 27

如果存在,则单独打印第一个单词.然后先将模式打印为逗号,然后打印下一个元素.

if (arrayListWords.length >= 1) {
    System.out.print(arrayListWords[0]);
}

// note that i starts at 1, since we already printed the element at index 0
for (int i = 1; i < arrayListWords.length, i++) { 
     System.out.print(", " + arrayListWords[i]);
}
Run Code Online (Sandbox Code Playgroud)

有了List,你最好使用Iterator

// assume String
Iterator<String> it = arrayListWords.iterator();
if (it.hasNext()) {
    System.out.print(it.next());
}
while (it.hasNext()) {
    System.out.print(", " + it.next());
}
Run Code Online (Sandbox Code Playgroud)


小智 13

我会这样写:

String separator = "";  // separator here is your ","

for (String s : arrayListWords) {
    System.out.print(separator + s);
    separator = ",";
}
Run Code Online (Sandbox Code Playgroud)

如果arrayListWords有两个单词,它应该打印出A,B


Cam*_*lva 9

使用Java 8 Streams:

Stream.of(arrayListWords).collect(Collectors.joining(", "));
Run Code Online (Sandbox Code Playgroud)


Asp*_*ruh 5

StringJoiner str = new StringJoiner(", ");
str.add("Aplha").add("Beta").add("Gamma");

String result = str.toString();
System.out.println("The result is: " + result);
Run Code Online (Sandbox Code Playgroud)

输出: 结果是:Aplha、Beta、Gamma