【发布时间】:2018-02-25 17:57:14
【问题描述】:
它已经困扰我一天了,我不知道该怎么做,因为我还是 java 和 android 的新手。我有这段代码,它在 for 循环中有一个 if 和 else if 语句。现在的问题是,如果第一个条件为真,它还将执行第一个以下的另一个条件,这不是我想要的。我想在上述条件为真时停止循环并退出。
谁能告诉我哪里出了问题。
for(findpet_getItems items:arrayList)
{
for(int i=0; i <arrayList.size();i++)
{
if(i !=0){
if (items.getHair().toLowerCase().contains(hair) && items.getColor().toLowerCase().contains(color)
&& items.getSize().toLowerCase().contains(size) && items.getWeight().toLowerCase().contains(weight)
) {
new_list.add(items);
break;
}
else if (items.getSize().toLowerCase().contains(size) && items.getWeight().toLowerCase().contains(weight)) {
new_list.add(items);
break;
}
else if (items.getHair().toLowerCase().contains(hair) && items.getColor().toLowerCase().contains(color)) {
new_list.add(items);
break;
}
else {
results.setText("Search not found");
}
}
}
}
【问题讨论】:
-
第一件事:现在做一个句号。不要试图同时学习两个复杂的东西(java 和 android!),你应该首先关注基本的 java。然后:避免编写这样的代码——它已经过于复杂了......我们可以坐下来讨论如何改进这个(抱歉)过于复杂的代码大约一个小时。但这不是 SO 的意义所在。因此:首先问自己为什么这里有 两个 循环(外部似乎就足够了)以及为什么引入内部循环......但永远不要使用那个 i 参数?!
标签: java android for-loop if-statement