在字符串中附加文本

时间:2010-11-19 07:59:08

标签: java string

我想在运行时附加一个字符串,但是这段代码再次添加了前一个单词而不是附加新单词。

Customer.java:

public String getCustomerQuestion() {
  return CustomerQuestion;
 }
public void setCustomerQuestion(String customerQuestion) {
CustomerQuestion = customerQuestion;
}
public void appendmessage(String msg){
CustomerQuestion = CustomerQuestion +" "+ msg;
}

Main.java:

Customer  _Customer =new Customer();
Request_Message Request= new Request_Message;
_Customer.setCustomerQuestion(Request.getInput());
String _string=Request.getInput();
_Customer.appendmessage(_string);
String str=__Customer.getCustomerQuestion();
System.out.println("now new Question() is"+str);

当我写ram然后再次按回车键,当我写唱歌时显示结果:ram ram on console。 我想把显示ram singh显示为一个字符串。 `public class Request_Message { { private String _Input;

public void setInput(String line)     {         _Input = line;     }     public String getInput()     {         return _Input;     }`

它从聊天窗口获取输入。

2 个答案:

答案 0 :(得分:2)

您尚未显示Request.getInput()的内容。我怀疑这就是问题所在。如果您运行会发生什么:

System.out.println(Request.getInput());
System.out.println(Request.getInput());

并输入两个不同的字符串?

如果您可以发布简短但完整的计划,我们肯定可以解决正在发生的事情。

(另一方面,如果您遵循正常的Java命名约定,其他人可能更容易遵循您的代码。)

答案 1 :(得分:0)

不要使用字符串连接。请使用正确的StringBuffer

private StringBuffer customerQuestion = new StringBuffer();

public void appendmessage(String msg){
    customerQuestion.append(msg);
}

public String getCustomerQuestion() {
    return customerQuestion.toString();
}

当然,这可能不是您特定问题的原因(就此而言,请参阅Jon Skeet的回答),但这可能是未来的瓶颈。 StringBuffer是随时间推移String和连接文本的正确方法。