有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在字符串中追加文本

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

顾客。爪哇:

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

梅因。爪哇:

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时,然后在我写singh时再次按enter键,它会显示结果:控制台上的ram。 我想把ramsingh显示为一个字符串。 `公共类请求消息{ { 私有字符串输入

公共void setInput(字符串行) { _输入=行; } 公共字符串getInput() { 返回输入; }`

它从聊天窗口获取输入


共 (2) 个答案

  1. # 1 楼答案

    不要使用字符串连接。改用适当的^{}

    private StringBuffer customerQuestion = new StringBuffer();
    
    public void appendmessage(String msg){
        customerQuestion.append(msg);
    }
    
    public String getCustomerQuestion() {
        return customerQuestion.toString();
    }
    

    当然,这可能不是您的具体问题的原因(关于这一点,请参阅Jon Skeet的答案),但这可能是未来的瓶颈。StringBuffer是拥有String并随时间将文本连接到它的正确方式

  2. # 2 楼答案

    你还没有展示Request.getInput()的功能。我怀疑这就是问题所在。如果您运行:

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

    然后输入两个不同的字符串

    如果你能发布一个简短但完整的程序,我们肯定能弄清楚到底发生了什么

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