Eri. Eri. - 3 months ago 22
Java Question

Print out elements from an array with a comma between elements except the last word

I am printing out elements from a array list, I want to have a comma between each word except the last word. Right now I am doing like this:

for (String s : arrayListWords) {
System.out.print(s + ", ");
}


As you understand it will print out the words like this: "one, two, three, four,"
and the problem is the last comma, how do I solve this? All answers appreciated!

Best regards,
Erica

Answer

Print the first word on its own if it exists. Then print the pattern as comma first, then the next element.

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]);
}

With a List, you're better off using an Iterator

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