我和一些同学正在做一项 Java 作业,要求我们使用自动换行将字符串的 ArrayList 打印到 PrintWriter,以便输出不会超过 80 个字符。我们在 Google 上进行了广泛的搜索,但找不到任何基于 Java API 的方法来执行此操作。
我知道在 SO 上提出家庭作业问题通常是“错误的”,但我们只是在寻找最佳方法的建议,或者如果我们错过了 API 中的某些内容。这不是作业的主要部分,只是一个小的输出要求。
理想情况下,我希望能够对 ArrayList 的 toString 进行自动换行,因为它的格式已经很好了。
最佳答案
嗯,这对我来说是第一次,这是我的学生第一次发布有关我分配给他们的项目的问题。从措辞上看,他正在寻找一种算法,而你们分享的答案对我来说很好。然而,这是一个典型的试图把事情复杂化的案例。规范中未提及的一部分是 80 个字符的限制并不是硬性限制。我说过输出文件的每一行必须大约有 80 个字符长。 80多一点就可以了。在我的解决方案版本中,我只是进行了一次运行计数,并对计数进行取模以添加行尾。我改变了模数的值,直到输出文件看起来正确为止。这导致数字较小的行非常短,因此当数字较小时我使用了不同的模数。这并不是该项目的重要部分,但有趣的是它得到了如此多的关注。
关于java - 使用自动换行将字符串 ArrayList 打印到 PrintWriter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4332285/