传递和返回StringBuilders:Java

时间:2011-03-11 20:52:00

标签: java

我被朋友推荐到这个网站。我喜欢在开始这个帖子之前能够查看一些类似的线程。不幸的是,我没有看到关于这个具体问题的任何内容。

我在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中使用这些字符串。我什么都没有。这个东西的格式化部分很简单。如果我不能回到主,那就错了。

我非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:4)

假设您的打印用于调试,则需要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();
   }

}