一位 friend 把我引到了这个网站。我喜欢在启动该线程之前能够查看一些类似的线程。不幸的是,我没有看到有关此特定问题的任何信息。

我在Java中将StringBuilders从一个对象传递到另一个对象时遇到问题。我不知道问题出在哪里,迷失了。我可以整天传递和返回数据。使用StringBuilders,它根本无法正常工作。我认为这很容易让我感到沮丧。

我有一个作业,要求我用我的名字,中间名和姓氏声明3个Stringbuilders。没问题。

它还希望3个对象执行不同的名称格式。格式化部分很容易。我不知道如何将工作返还给主要人员。

这是一个片段:

public class Builder
{
   public static void main(String[] args)
   {
      StringBuilder str1 = new StringBuilder("John");
      StringBuilder str2 = new StringBuilder("Que");
      StringBuilder str3 = new StringBuilder("Doe");

      ???  = entireName(str1, str2, str3);
   }

  public static String entireName(StringBuilder s1, StringBuilder s2, StringBuilder s3)
  {
        System.out.print(s1);
        //insert.s1('4', ' ');//format stuff, not really necessary (not a problem).
        Ststem.out.print(s2);
        //etc..
        System.out.print(s3);
        return ????;
   }
}

标记为问题的问题没有得到解决,因为无论如何我都没有投入。我尝试声明单独的字符串以传回。我试过声明字符串,然后在stringbuilder中使用这些字符串。我什么都没有这些东西的格式化部分很容易。如果我不能回到主要方面,那就错了。

我真的很感谢您的帮助。谢谢!

最佳答案

假设您的打印用于调试,则需要s1.toString()等

public static String entireName(StringBuilder s1, StringBuilder s2, StringBuilder s3)
  {
        System.out.print(s1.toString());
        //insert.s1('4', ' ');//format stuff, not necessary (not a problem)
        System.out.print(s2.toString());
        //etc..
        System.out.print(s3.toString());
        return s1.append(s2).append(s3).toString();
   }

我运行了它,它起作用了:
public class Builder
{
   public static void main(String[] args)
   {
      StringBuilder str1 = new StringBuilder("John");
      StringBuilder str2 = new StringBuilder("Que");
      StringBuilder str3 = new StringBuilder("Doe");

      String s = entireName(str1, str2, str3);

      System.out.println(s);
   }

   public static String entireName(StringBuilder s1, StringBuilder s2,
            StringBuilder s3)
   {
        // debugging removed
        return s1.append(s2).append(s3).toString();
   }

}

关于java - 传递和返回StringBuilders:Java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5278204/

10-11 00:04