java使用增强的forloop从两个ArrayList检索数据
我有一个问题是关于我在所包含的代码中遇到的一个(可能是非常)简单的问题
代码的思想是列出所有客户及其帐户,如下面的示例所示:
Customer 1
Account 1 balance
Account 2 balance
Customer 2
Account 3 balance
Account 4 balance
。。等等 问题是所使用的代码(如下所示)与第一个客户的预期工作方式相同,显示了其所有帐户。但就到此为止。因此,即使数据库中存在客户2,也不会打印出来
public String allAccounts() {
for (Customer customer : clients) {
String clientInfo = "";
clientInfo = clientInfo + customer.getCust() + "\n\n";
for (Account account : customer.accounts) {
clientInfo = clientInfo + account.getAccinfo() + "\n";
}
return clientInfo;
}
return "Not in use";
}
我可以补充一点,那就是客户。getCust获取客户的名称和该帐户。getAccinfo获取帐户的帐号和余额。由于它是为第一个客户设计的,我想这是循环的问题,而不是函数本身的问题
任何帮助都将不胜感激
编辑:非常感谢大家快速而好的回答!非常感谢
# 1 楼答案
StringBuilder
例如sb
在for(Customer ...
循环之外return clientInfo
更改为sb.append(clientInfo)
return "Not in use"
替换为return sb.toString().length==0?"Not in use": sb.toString();
# 2 楼答案
按如下所示进行修改,然后重试:
这里有两件事要做,1。clientInfo在forloop外部声明。2.返回语句在for循环结束后
# 3 楼答案
当您返回某个内容(
return clientInfo
)时,该方法为“完成”。 您可能希望返回List<String>
,或者Map<String, String>
# 4 楼答案
您的return语句位于第一个循环内。应该在外面。请参阅下面的代码