【发布时间】:2020-10-17 11:38:40
【问题描述】:
本练习要求我们创建一个“RoadTrip”类,该类使用地理位置类创建地理位置的 ArrayList。练习的一部分要求我们在 RoadTrip 类中创建一个 toString 方法,该方法最终会返回如下字符串:
1. San Francisco (37.7833, -122.41671)
2. Los Angeles (34.052235, -118.2436831)
3. Las Vegas (36.114647, -115.1728131)
为 ArrayList 中的每个 GeoLocation 对象创建一个字符串。
但我不能将 return 语句放在 for 循环中。这是我“作弊”以使其模拟我希望它实际执行的操作的示例。
public String toString()
{
int counter = 1;
for (int i = 0; i < locationList.size() ; i++)
{
System.out.println(counter + ". " + locationList.get(i).toString());
counter++;
}
return "";
}
如果我只是用return 替换System.out.println() 并删除return "";,我会收到错误:
RoadTrip.java:43: error: unreachable statement
counter++;
^
RoadTrip.java:45: error: missing return statement
}
^
2 errors
我看到了使用 StringBuilder 的其他解决方案,但我假设课程的创建者打算使用我们提供的工具来完成练习。我可以使用另一种方法来限制给定的“工具集”吗?
如果我的技术语言被关闭了,请原谅我,我对编码还是比较陌生。
【问题讨论】:
-
如果你想避免
StringBuilder,你必须在for循环中连接String,这是一种反模式。您确定StringBuilder不在您的“工具集”中吗? -
那么...到目前为止有什么进展吗?
-
是的,我能够通过连接一个字符串来完成分配。对不起,我忘了通知你!
标签: java for-loop arraylist return tostring