我正在使用Javascript开发一个项目,该项目要求我编写一个类,该方法以某种格式打印Tree对象的信息。到目前为止,这是我的toString方法(方法内的t.toString()是对不同类中的不同toString方法的引用)。它应该显示一个Tree对象的信息,然后转到一个新行并显示下一个Tree对象的信息。
public String toString()
{
for (Tree t : db)
{
return t.toString() + "\n";
}
return null;
}
我使用此代码测试了该方法。
TreeDB trees = new TreeDB();
Tree oak = new Tree("Oak", 24, 27);
Tree maple = new Tree("Maple", 8, 38);
Tree spruce = new Tree("Spruce", 11, 32);
trees.add(oak);
trees.add(maple);
trees.add(spruce);
System.out.println(trees.toString());
它打印Oak的信息,但不打印Maple或Spruce的信息。我假设for-loop的标题有问题。有人可以帮我弄清楚如何打印所有Tree对象的信息吗?
答案 0 :(得分:1)
(a)请重新检查你的循环。
(b)你的问题是你正在研究一个Javascript项目,但你发布的代码是用Java编写的。
答案 1 :(得分:1)
在读取第一个元素后退出函数,返回其String表示形式。使用StringBuffer存储所有元素:
public String toString()
{
StringBuffer result = new StringBuffer();
for (Tree t : db)
{
result.append(t.toString()).append("\n");
}
return result.toString();
}
答案 2 :(得分:1)
在for each
循环中,您将返回第一个值。
使用StringBuilder(sb)存储(追加)所有值,然后return sb.toString()