我该怎么做呢?我尝试过类似的事情,但我似乎无法取得进一步的进展。
public void speak(String text)
{
String[] textArray = text.split(" ");
System.out.println(text);
StringBuilder builder = new StringBuilder();
int index = 0;
while(builder.length() < 99)
{
builder.append(textArray[index] + " ");
index++;
}
System.out.println(builder.toString());
}
编辑:我需要将每个字符串分开,长度仅为 100 个字符的字符串。因此,我需要数组或数组列表中的每个字符串。
ArrayList<String> lines = new ArrayList<>();
int index = 0;
while(index < textArray.length()) {
StringBuilder builder = new StringBuilder();
if(textArray[index].length() >= 99) {
build.append(textArray[index]);
index++;
} else {
while(builder.length() < 99 - (textArray[index].length())) {
builder.append(textArray[index] + " ");
index++;
if(!(index < textArray.length()) {
break;
}
}
lines.add(builder.toString());
}
内部while
循环将执行它在代码中已执行的操作,构建一行,长度少于 100 个字符,并在每个单词后添加一个空格。
然后,当我们超过 100 个字符时,在字符串中附加一个新行字符,然后继续。
请注意,这段代码:
if(textArray[index].length() >= 99) {
build.append(textArray[index]);
index++;
}
将处理(应该是罕见的)单词长度超过 99 个字符(无空格)的情况。正如所写的,它会将这个单词完全放在一起,并可能导致一行长度超过 100 个字符。如果您想要不同的行为,请查看这段代码。
但是超过 99 个字符的单词可能非常罕见,这可能完全不是问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)