只需逐个单词地遍历字符串,并在单词超过限制时中断。
public String addLinebreaks(String input, int maxLineLength) { StringTokenizer tok = new StringTokenizer(input, " "); StringBuilder output = new StringBuilder(input.length()); int lineLen = 0; while (tok.hasMoreTokens()) { String word = tok.nextToken(); if (lineLen + word.length() > maxLineLength) { output.append("n"); lineLen = 0; } output.append(word); lineLen += word.length(); } return output.toString();}我只是以徒手的方式输入了该内容,您可能需要进行一些操作才能使其编译。
错误:如果输入的单词比输入的单词长
maxLineLength,则会添加到当前行,而不是添加到自己的太长的行上。我假设您的行长大约为80或120个字符,在这种情况下,这不太可能成为问题。



