Some classmates and I are working on a homework assignment for Java that requires we print an ArrayList of Strings to a PrintWriter using word wrap, so that none of the output passes 80 characters. We’ve extensively Googled this and can’t find any Java API based way to do this.
I know it’s generally “wrong” to ask a homework question on SO, but we’re just looking for recommendations of the best way to do this, or if we missed something in the API. This isn’t the major part of the homework, just a small output requirement.
Ideally, I’d like to be able to wordwrap the ArrayList’s toString since it’s nicely formatted already.
Well, this is a first for me, it’s the first time one of my students has posted a question about one of the projects I’ve assigned them. The way it was phrased, that he was looking for an algorithm, and the answers you’ve all shared are just fine with me. However, this is a typical case of trying to make things too complicated. A part of the spec that was not mentioned was that the 80 characters limit was not a hard limit. I said that each line of the output file had to be roughly 80 characters long. It was OK to go over 80 a little. In my version of the solution, I just had a running count and did a modulus of the count to add the line end. I varied the value of the modulus until the output file looked right. This resulted in lines with small numbers being really short so I used a different modulus when the numbers were small. This wasn’t a big part of the project and it’s interesting that this got so much attention.