gpt4 book ai didi

java - BufferReader 不会遍历整个文本

转载 作者:行者123 更新时间:2023-12-01 11:45:57 25 4
gpt4 key购买 nike

我有一个可以将某些字符加粗的函数。一切工作正常,除了我在方法开始时的字符串被剪切到某处并返回一半,而不是作为开始时得到的整个字符串。这是代码,我不知道我的错误在哪里。

public String boldovanjeAkorada(String text)
{
String konacan = "<pre>";
int i = 0;
try {
BufferedReader buff = new BufferedReader(new StringReader(text));
for (String line = buff.readLine(); line != null; line = buff.readLine()) {

for(i=0;i<line.length();i++)
{
char slovo = line.charAt(i);
if(slovo == ' ' )
{
if(line.charAt(i-1)!=' ' && line.charAt(i+1)!=' ')
{
konacan = konacan + slovo;
}
else{
konacan = konacan + "&nbsp";
}
}
else if(slovo == '(') {
konacan = konacan + "<b>"+slovo;
}
else if(slovo == ')') {

konacan = konacan + slovo + "</b>";
}
else {
konacan = konacan + slovo;
}
}

konacan = konacan + "<br />";

}
buff.close();

}catch (Exception e)
{
System.out.println(e.toString());
}
return konacan;
}

最佳答案

改变

if(line.charAt(i-1)!=' ' && line.charAt(i+1)!=' ')

进入

if( i>0 && line.charAt(i-1)!=' ' &&
(i+1)<line.length() && line.charAt(i+1)!=' ')

同时添加

return koncan + "</pre>"

您还可以通过使用 StringBuilder 来加快速度,如下所示:

StringBuilder konacan = new StringBuilder("<pre>");
konacan.append("<b>"+slovo);
return konacan.append("</pre>").toString();

关于java - BufferReader 不会遍历整个文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29121768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com