Java 是否可以在程序输出中设置每行的最大字符数
我想写一个程序,输出一篇文章。我只是在起诉System.out.print();每个段落开头带\t,结尾带\n的单独句子的函数 所以它看起来像这样:Java 是否可以在程序输出中设置每行的最大字符数,java,format,output,Java,Format,Output,我想写一个程序,输出一篇文章。我只是在起诉System.out.print();每个段落开头带\t,结尾带\n的单独句子的函数 所以它看起来像这样: System.out.print("\tParagraph 1 Sentence 1"); System.out.print("Paragraph 1 Sentence 2"); System.out.print("Paragraph 1 Sentence 3"); System.out.print("Paragraph 1 Sentence 4\
System.out.print("\tParagraph 1 Sentence 1");
System.out.print("Paragraph 1 Sentence 2");
System.out.print("Paragraph 1 Sentence 3");
System.out.print("Paragraph 1 Sentence 4\n");
System.out.print("\tParagraph 2 Sentence 2");
System.out.print("Paragraph 2 Sentence 2");
System.out.print("Paragraph 2 Sentence 3");
System.out.print("Paragraph 2 Sentence 4\n");
但这将把每一段打印在一行上
我想知道是否有可能设置每行打印的最大字符数,以便自动返回,就像我在Word中键入一样
提前谢谢 不,没有办法告诉API在80个字符之后添加换行符之类的内容 您必须滚动自己的“段落打印机”,该打印机跟踪自行首以来已打印的字符数,然后输出换行符 这里有一些东西让你明白我的意思:
String[] paragraphs = {
"Paragraph 1 Sentence 1. Paragraph 1 Sentence 2. Paragraph 1 Sentence 3. Paragraph 1 Sentence 4.",
"Paragraph 2 Sentence 1. Paragraph 2 Sentence 2. Paragraph 2 Sentence 3. Paragraph 2 Sentence 4"
};
for (String paragraph : paragraphs) {
Scanner s = new Scanner(paragraph);
System.out.print(" "); // instead of \t
int col = 8;
while (s.hasNext()) {
String word = s.next();
if (col + word.length() > 50) {
System.out.println();
col = 0;
}
System.out.print(word + " ");
col += word.length() + 1;
}
System.out.println();
}
输出:
Paragraph 1 Sentence 1. Paragraph 1
Sentence 2. Paragraph 1 Sentence 3. Paragraph 1
Sentence 4.
Paragraph 2 Sentence 1. Paragraph 2
Sentence 2. Paragraph 2 Sentence 3. Paragraph 2
Sentence 4
如果您想要类似于Word的东西,那么您可能希望使用一个代码,该代码不只是在给定最大字符数的情况下拆分一行(包装它,通常由文本编辑器调用)(可以使用字符串类中的两个方法轻松实现,例如和可能的a) 因此,我建议您使用“Java教程”(来自Oracle)中的行边界示例代码:
正如在页面中提到的,该示例是独立于语言环境的代码,因此它可能足以满足您的需要。具体打印什么?GUI小部件?控制台?其他?没有把一个词分成两行?只是控制台,是的,没有把一个词分成两行,这不完全正确;例如,您可以实现自己的
Writer
,在适当的地方插入换行符,但是这样的Writer
当然不能解释最终显示上无法打印的代码点……这与我说的差不多,不是吗?API中没有任何内容,您需要自己编写;而且您的代码提取不会“利用”Writer
,这就是这里应该做的,为什么您必须使用Writer
?我说代码是让行动开始的东西。我从来没有说过这是一个生产质量的解决方案,是吗?事实上,OP没有;尽管如此,作为一个经验丰富的Java开发人员,您可以提供“monkey patch”代码,但也可以提供关于如何正确执行的提示。就这些!