我被朋友推荐到这个网站。我喜欢在开始这个帖子之前能够查看一些类似的线程。不幸的是,我没有看到关于这个具体问题的任何内容。
我在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中使用这些字符串。我什么都没有。这个东西的格式化部分很简单。如果我不能回到主,那就错了。
我非常感谢任何帮助。谢谢!
答案 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();
}
}