我有以下HashMap
:
private HashMap<String, Team> allTeams = new HashMap<String, Team>();
我希望作为联盟中所有球队的String
回归,否则会回复“联盟中没有球队”的信息。
我写了这段代码:
public String getTeam()
{
String x = "";
for(Team tm : allTeams.values())
{
if(tm.getStatus().equals("Added"))
{
x = x + tm.toString();
}
else
{
x = "there are no teams in your league";
}
}
return temp;
}
如果删除条件语句的“else”部分,则代码可以正常工作。
然而,如果我保留“其他”部分,我会不断收到“你们联盟中没有球队”,我理解这是因为一旦所有球队都被退回,就没有其他球队可以返回,因此“其他”声明的一部分始终打印出来。
我怎样才能让它发挥作用?
答案 0 :(得分:0)
一种方法是检查循环外x
是否为空,如果是,则设置它。
public String getTeam()
{
String x = "";
for(Team tm : allTeams.values())
{
if(tm.getStatus().equals("Added"))
{
x = x + tm.toString();
}
}
if (x.isEmpty())
{
x = "there are no teams in your league";
}
return x;
}
我认为您打算返回x
,而不是temp
,因为此处未定义temp
。